Skip to content

Instantly share code, notes, and snippets.

@ibaaj
Created December 1, 2016 16:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ibaaj/ecd8afa112e9a31c98de5c2221444a72 to your computer and use it in GitHub Desktop.
Save ibaaj/ecd8afa112e9a31c98de5c2221444a72 to your computer and use it in GitHub Desktop.
default(realprecision, 9000);
t=[28,29,24,25,0,0,7];
k=20
p=751
{
for (i=1,7,
r=t[i]*k + 1;
q= Mod(r^3 -r + 188, 751);
for(j=0,t[i]+1,
if(1==kronecker(lift(q),p), break );
r = r + 1;
q= Mod(r^3 -r + 188, 751);
);
print(q);
s = sqrt(q) + 375;
print("x="r",y="s);
);
}
xinit=[361,241,201,461,581];
yinit=[383,605,380,467,395];
{
for(i=1,5,
for(j=0,k+1,
e=((xinit[i] - 1 -j)/20);
if(type(e)=="t_INT", break );
);
print(e);
);
}
dedoublement(xp,yp,p) = {
s = Mod( ((3*(xp^2) + a)/(2*yp)), p);
xr = Mod(s^2 - 2xp, p);
yr = Mod(-yp + s*(xp - xr), p);
return([xr,yr]);
}
adding(xp,yp,xq,yp) = {
if(xp==xq&&yp==yq, break );
s= Mod( (yp-yq) / (xp - xq), p);
xr = Mod(s^2 - xp - xq, p);
yr = Mod(-yp + s*(xp - xr),p);
return([xr,yr]);
}
compter_avec_legendre(a,b,p) = {
t=0;
for(i=0, p-1,
tmp= i^3 + a*i + b;
t += kronecker(tmp,p);
);
print(p + 1 + t);
}
compter_avec_legendre(4,4,751);
quit;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment