Как известно, тест на простоту чисел Ферма такой:

.
Посчитал в Aribas (арифметический интерпретатор) остатки

для чисел

вида

и

. Получилось вот что (код и результат):
Код:
n := 4; p2 := 2**(2**n) div 2;
p := p2*2 + 1;
writeln("p = ", p);
k := 1; l := 0;
for i := 1 to 2**n+1 do
m := (k-1)**p2 mod p;
if (m > p2) then
dec(m, p);
end;
writeln("2^",l,"-1 m = ", k-1, " ", m);
m := (k+1)**p2 mod p;
if (m > p2) then
dec(m, p);
end;
writeln("2^",l,"+1 m = ", k+1, " ", m);
k := k * 2; inc(l);
end.
p = 65537
2^0-1 m = 0 0
2^0+1 m = 2 1
2^1-1 m = 1 1
2^1+1 m = 3 -1
2^2-1 m = 3 -1
2^2+1 m = 5 -1
2^3-1 m = 7 -1
2^3+1 m = 9 1
2^4-1 m = 15 1
2^4+1 m = 17 1
2^5-1 m = 31 -1
2^5+1 m = 33 1
2^6-1 m = 63 -1
2^6+1 m = 65 -1
2^7-1 m = 127 -1
2^7+1 m = 129 1
2^8-1 m = 255 1
2^8+1 m = 257 1
2^9-1 m = 511 1
2^9+1 m = 513 -1
2^10-1 m = 1023 -1
2^10+1 m = 1025 -1
2^11-1 m = 2047 1
2^11+1 m = 2049 -1
2^12-1 m = 4095 1
2^12+1 m = 4097 1
2^13-1 m = 8191 1
2^13+1 m = 8193 -1
2^14-1 m = 16383 -1
2^14+1 m = 16385 -1
2^15-1 m = 32767 -1
2^15+1 m = 32769 1
2^16-1 m = 65535 1
2^16+1 m = 65537 0
Наблюдается симметрия в результатах относительно середины. Кто может сказать, так получается случайно или это закономерность?