/* we did a trick to construct the matrix in pari, directly, but insert the matrix here because
is faster when TF-ing. Caution: there is a parenthesis missing, all of them have to be closed
properly after copy/paste, when the eeror is added, see the source code above.
gp> n=60;
for(p=1, n-1,
if(gcd(p,n)==1,
print1("if(pp== "p", v=[");
cnt=0;
for(k=1,n,
if(gcd(q=2*k*p+1,n)==1&&(z=q%8)!=3&&z!=5,
print1(k-cnt);
cnt=k;
if(k1,
print("M"p" has a factor: "q" ");
if(logfile,
write(logfile,p","q)
);
return(q);
)
);
if((cnt++)>maxcnt,
cnt=0;
lq=log(q);
ll=floor(lq/log(10))+1;
ls=floor(lq/log(2));
ld=ls+1;
lp=100*(q-(1<