The cubic will be a nontrivial element of the Tate--Shafarevich group of the curve 4343B1 in Cremona's tables, which we call E. The cubic will be obtained from a rational point on an auxiliary elliptic curve F.
First, we compute that E has rank 0, and F has rank 1:
> E := EllipticCurve([ 0, 0, 1, -325259, -71398995 ]); > F := EllipticCurve([ 1, -1, 1, -24545, 1486216 ]); > CremonaReference(E); 4343b1 > RankBounds(E); 0 0 > RankBounds(F); 1 1
We take a plane cubic representing one of the nontrivial elements in the 3-Selmer group of F, which has order 3, so that its elements are all in the image of F(Q) since F(Q) has rank 1:
> SetClassGroupBounds("GRH"); > #ThreeSelmerGroup(F); 3 > coverings := ThreeDescent(F); > coverings; [ Curve over Rational Field defined by -3*x^2*z - 3*x*y^2 - 27*x*y*z + 12*x*z^2 + 2*y^3 + 21*y^2*z + 3*y*z^2 - 4*z^3 ] > C := Equation(coverings[1]);
We now try to find a linear combination of C and its Hessian (which is also a plane cubic) that has j-invariant equal to the j-invariant of E. To find the right linear combination we may work geometrically (that is, with F instead of C since they are isomorphic over Qbar). We work with the family t F + H where t is an indeterminate.
> B<t> := PolynomialRing(Rationals()); > F_BR := ChangeRing(Parent(Equation(F)), B); > F_B := F_BR ! Equation(F); > H_B := Hessian(F_B); > c4,c6,Delta := Invariants(t*F_B + H_B);Alternatively we could get these invariants as follows:
> D,c4,c6 := HessePolynomials(3, 1, cInvariants(F) : Variables := [t, 1] ); > Delta := Discriminant(F)*D^3; // Solve c4(t)^3/Delta(t) = j(E) for t: > jpoly := c4^3 - jInvariant(E)*Delta; > Roots(jpoly); [ <7479/7, 1> ]
So we take the following linear combination (and replace the equation by a nicer equation):
> C2raw := 7479/7*C + Hessian(C); > C2 := Reduce(Minimise(C2raw)); > C2; 7*x^3 + 7*x^2*y + 3*x^2*z - 4*x*y^2 - 30*x*y*z + 12*x*z^2 - 13*y^3 - 2*y^2*z - 15*y*z^2 - 17*z^3
The Jacobian of C2 is E, so C2 is a principal homogeneous space for E of index 3, and in fact it is everywhere locally soluble:
> IsIsomorphic(Jacobian(C2), E); true > PrimeDivisors(Integers()!Discriminant(GenusOneModel(C2))); [ 43, 101 ] > C2_crv := Curve(ProjectiveSpace(Parent(C2)), C2); > IsLocallySolvable(C2_crv, 43); true (7 + O(43) : 1 + O(43^50) : O(43)) > IsLocallySolvable(C2_crv, 101); true (1 + O(101^50) : 32 + O(101) : 1 + O(101)) // Find the preimage of the covering map C2 -> E: > _, _, maptoE := nCovering(GenusOneModel(C2) : E := E); > preimage := Pullback(maptoE, E!0); > Points(preimage); // Q-rational points {@ @} > TorsionSubgroup(E); Abelian Group of order 1
We conclude that C2 has no rational points since, as E(Q) is trivial, any rational points on C2 must map to OE.