How to find a CM elliptic curve with small integer coefficients?
I want to find a CM elliptic curve with relatively small integer coefficients and complex multiplication discriminant equal to -163. The coefficient of the elliptic curve found by 'EllipticCurve_from_j' is not small enough.
cm_j_invariants(QQ) cm_j_invariants_and_orders(QQ) E0 = EllipticCurve_from_j(-262537412640768000) E1 = E0.short_weierstrass_model();E1 # y^2 = x^3 - 34790720*x + 78984748304 E2 =EllipticCurve([-8697680,9873093538]) # y^2 = x^3 - 8697680*x + 9873093538 [E2.has_cm(),E2.cm_discriminant()] # [True, -163]
I want to search for the short Weierstrass elliptic curve by brute force search. $y^2=x^3-ax+b\quad(0 < a < b < 10000000000)$ , where a and b are both integers.
Here's a wrong brute-force search approach using SageMath:
for a in range(1, 10000000000): for b in range(a+1, 10000000000): E = EllipticCurve([0, 0, 0, -a, b]) if E.cm_discriminant() == -163: print(f"Found curve: y^2 = x^3 - {a}*x + {b}")
Thanks in advance!
The curve
E2
you've found does satisfy your condition0 < a < b < 10000000000
. How much smaller would you like the coefficients to be?