немного точнее, мы отображаем

, ставя числу

последовательность нулей и 1 из

по формуле

, где

. если

нечетно, иначе 0.
Если у образов

и

одинаковые последовательности битов, то

квадрат (и только тогда). Вот и распределяем по образам, пока не появилась 17-я последовательность:
(0,0,...) -(1,4,9,16,25,....
(1,0,...)-(2,8,18,32,...)
(0,1,0,...)-(3,12,27,...)
(0,0,1,...)-(5,20,...)
(1,1,0,...)-(6,24,...)
....