| hermann on Wed, 07 Oct 2026 00:52:24 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| ellintpoints(E) workaround |
PARI/GP seems not to have a function to determine the integral points of elliptic curve E.
My workaround ellintpoints(E) (named after existing ellratpoints(E)) calls out to sagemath E.integral_points():
sage(cmd) = eval(externstr(Str("sage -q -c \"", cmd, "\""))[1]);
ellintpoints(E) = {
sage(Str("print([[int(P[0]), int(P[1])] for P in EllipticCurve(",
E[1..5],").integral_points()])"));
}
I was able to determine all but integral points in PARI/GP.
Did I miss how to do that in PARI/GP?
If not, might ellintpoints be implemented in the future?
(I know that the Baker bounds on height might get astronomically high)
Demo determines coefficients of the generators for each integral point:
(sage) hermann@9950x:~/sage$ xy="[73,140]" gp -q <
integral_points_coefficients.gp
[0, 0, 0, -14776, -670031] 1 [-80, -7](1) -> [-1, 0, 0, 0]~ [-73, -140](1) -> [0, -1, 0, 0]~ [-66, -133](1) -> [0, 0, -1, 0]~ [-60, -23](1) -> [0, 0, 0, -1]~ [140, -73](1) -> [0, -1, -1, 0]~ [214, -2443](1) -> [0, -1, 0, -1]~ [227, -2770](1) -> [1, 0, 1, 0]~ [246, -3253](1) -> [-1, 0, 1, 0]~ [514, -11293](1) -> [1, 1, 0, 0]~ [594, -14147](1) -> [-1, 1, 0, 0]~ [802, -22435](1) -> [0, 0, -1, 1]~ [1660, -67447](1) -> [0, -1, 1, 0]~ [31224, -5517337](1) -> [1, -1, -1, -1]~ [100016, -31630343](1) -> [2, 0, 0, 0]~ [160360, -64216103](1) -> [-1, -1, -1, -1]~ (sage) hermann@9950x:~/sage$ Regards, Hermann.