"Source: Text/Geometry/CrvMod.text";
"Line: 512";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/CrvMod.text, line: 512
// Example: H140E4 ()
print "Example: H140E4";
ei := GetEchoInput();
SetEchoInput(true);
D := ModularCurveDatabase("Atkin");
X0 := ModularCurve(D,17);
X1, pi := BaseCurve(X0);
discs := [ -4, -8, -16, -19, -43, -67 ];
jinvs := [ Roots(HilbertClassPolynomial(D))[1][1] : D in discs ];
jinvs;
pnts := &cat[ ModuliPoints(X0, EllipticCurveFromjInvariant(j))
              : j in jinvs ];
pnts;
[ pi(P) : P in pnts ];
SetEchoInput(ei);
