P1214 [USACO1.4] Arithmetic Progressions

Description

An arithmetic progression is a sequence of the form $a, a+b, a+2b, \ldots, a+nb$ where $n=0,1,2,3,\ldots$. For this problem, $a$ is a non-negative integer and $b$ is a positive integer. Write a program that finds all arithmetic progressions of length $N$ in the set $S$ of bisquares. The set of bisquares is defined as the set of all integers of the form $p^2 + q^2$ where $p$ and $q$ are non-negative integers.

Input Format

- Line 1: $N$ ($3 \le N \le 25$), the length of progressions for which to search. - Line 2: $M$ ($1 \le M \le 250$), an upper bound to limit the search to the bisquares with $0 \le p,q \le M$.

Output Format

If no sequence is found, a single line reading `NONE`. Otherwise, output one or more lines, each with two integers: the first element in a found sequence and the difference between consecutive elements in the same sequence. The lines should be ordered with smallest-difference sequences first and smallest starting number within those sequences first. There will be no more than $10000$ sequences.

Explanation/Hint

USACO Training Section 1.4.