"Source: Text/Geometry/CrvHyp.text";
"Line: 5090";
"Date: Fri Sep 26 09:12:34 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/CrvHyp.text, line: 5090
// Example: H137E38 ()
print "Example: H137E38";
ei := GetEchoInput();
SetEchoInput(true);
_<x> := PolynomialRing(Rationals());
C := HyperellipticCurve(x^6+1);
J := Jacobian(C);
RankBound(J);
assert $1 eq 0;
Chabauty0(J);
E := EllipticCurve([0,1]);
Pr2<X,Y,Z> := Ambient(C);
CtoE := map< C -> E | [X^2*Z,Y,Z^3] >;
Rank(E);
assert $1 eq 0;
#TorsionSubgroup(E);
assert $1 eq 6;
ptsE := Points(E : Bound:=100 ); ptsE;
for P in ptsE do
    preimageofP := P @@ CtoE;
    Points(preimageofP);
end for;
SetEchoInput(ei);
