Alois P. Heinz and Robert Israel, <a href="/A120947/b120947_1.txt">Table of n, a(n) for n = 1..10000</a> (n = 1 .. 1000 from Alois P. Heinz)
Alois P. Heinz and Robert Israel, <a href="/A120947/b120947_1.txt">Table of n, a(n) for n = 1..10000</a> (n = 1 .. 1000 from Alois P. Heinz)
reviewed
approved
proposed
reviewed
editing
proposed
Alois P. Heinz and Robert Israel, <a href="/A120947/b120947_1.txt">Table of n, a(n) for n = 1..10000</a> (n = 1 .. 1000 from Alois P. Heinz)
Alois P. Heinz, and Robert Israel, <a href="/A120947/b120947_1.txt">Table of n, a(n) for n = 1..10000</a> (n = 1 .. 1000</a> from Alois Heinz)
For n > 1, a(n) is the multiplicative order of -3-2*sqrt(2), in GF(prime(n)) if 2 is a quadratic residue (mod prime(n)) or GF(prime(n)^2) otherwise. Thus a(n) divides prime(n)-1 if prime(n) == 1 or 7 (mod 8), i.e. n is in A024704, and a(n) divides prime(n)+1 if prime(n) == 3 or 5 (mod 8), i.e. n is 2 or is in A024705. - Robert Israel, Aug 28 2015
For n > 1, a(n) is the multiplicative order of -3-2*sqrt(2), in GF(prime(n)) if 2 is a quadratic residue (mod prime(n)) or GF(prime(n)^2) otherwise. Thus a(n) divides prime(n)-1 if prime(n) == 1 or 7 (mod 8), and a(n) divides prime(n)+1 if prime(n) == 3 or 5 (mod 8). - Robert Israel, Aug 28 2015
local p, r, G;
uses numtheory;
p:= ithprime(n);
if quadres(2, p)=1 then
else
fi
f:= proc(n)
local p, r, G;
uses numtheory;
p:= ithprime(n);
if quadres(2, p)=1 then
r:= msqrt(2, p);
order(-3-2*r, p)
else
G:= GF(p, 2, r^2-2);
G:-order( G:-ConvertIn(-3-2*r));
fi
end proc:
2, seq(f(n), n=2..100); # Robert Israel, Aug 28 2015
approved
editing
editing
approved