Задача сводится к нахождению коэффициентов функции f(t)=at+b с целыми a и b путем задавания вопросов, равно ли f(t) некоторому x(t) для последовательных целых неотрицательных t.
Упорядочим все пары целых чисел каким-нибудь образом, например, по спирали: (Ai, Bi) = { (0, 0), (0, 1), (1, 1), (1, 0), (1, -1), ...}. Во время t будем проверять точку x(t) = At*t+Bt.
Рано или поздно (скажем, при t == k) ответ окажется положительным (не позднее, чем Ak == a и Bk == b).
После этого нам потребуется лишь выяснить истинное значение a, для чего достаточно проверить x(k), x(k)+2, x(k)-3, x(k)+8, x(k)-10, x(k)+18, ... x(k)+2n2, x(k)-2n2-n.