If t = 2 and t2 = 3 then the above general test is:
Code:
{
tst_2_3(n,a)=
kronecker(a^2-4,n)==-1&&
gcd(210,n)==1&&
gcd(a+4,n)==1&&
gcd(a+6,n)==1&&
Mod(2,n)^(n-1)==1&&
Mod(3,n)^(n-1)==1&&
Mod(Mod(x+2,n),x^2-a*x+1)^(n+1)==5+2*a&&
Mod(Mod(x+3,n),x^2-a*x+1)^(n+1)==10+3*a;
}
I am testing the "general test" every way I can think of. Can you find a counterexample?
Dropping a Selfridge can be done by letting t = 2 and t2 = 4 such that the test is
Code:
{
tst_2_4(n,a)=
kronecker(a^2-4,n)==-1&&
gcd(210,n)==1&&
gcd(a+4,n)==1&&
gcd(a+8,n)==1&&
Mod(2,n)^(n-1)==1&&
Mod(Mod(x+2,n),x^2-a*x+1)^(n+1)==5+2*a&&
Mod(Mod(x+4,n),x^2-a*x+1)^(n+1)==17+4*a;
}
Furthermore, the Frobenius tests can each be done in 2 Selfridges (by my published method), making the tst_2_4(n,a) cost 1+2+2 Selfridges.