@@ -1623,16 +1623,30 @@ def solve_integer(self, n, *, algorithm="general"):
1623
1623
Also when using the ``"cornacchia"`` algorithm::
1624
1624
1625
1625
sage: # needs sage.libs.pari
1626
- sage: abc = [1, 0, randrange(1,10^3)]
1627
- sage: Q = BinaryQF(abc)
1628
1626
sage: n = random_prime(10^9)
1629
- sage: if Q[2] % 4 == 3 and randrange(2):
1630
- ....: n *= 4
1631
- sage: xy1 = Q.solve_integer(n, algorithm='cornacchia')
1632
- sage: xy1 is None or Q(*xy1) == n
1627
+ sage: c = randrange(1, 10^3)
1628
+
1629
+ sage: # needs sage.libs.pari
1630
+ sage: Q1 = BinaryQF(1, 0, c)
1631
+ sage: xy = Q1.solve_integer(n, algorithm='cornacchia')
1632
+ sage: xy is None or Q1(*xy) == n
1633
+ True
1634
+ sage: (xy is None) == (Q1.solve_integer(n) is None)
1635
+ True
1636
+
1637
+ sage: # needs sage.libs.pari
1638
+ sage: Q3 = BinaryQF(1, 0, 4*c+3)
1639
+ sage: xy = Q3.solve_integer(n, algorithm='cornacchia')
1640
+ sage: xy is None or Q3(*xy) == n
1641
+ True
1642
+ sage: (xy is None) == (Q3.solve_integer(n) is None)
1643
+ True
1644
+
1645
+ sage: # needs sage.libs.pari
1646
+ sage: xy = Q3.solve_integer(4*n, algorithm='cornacchia')
1647
+ sage: xy is None or Q3(*xy) == 4*n
1633
1648
True
1634
- sage: xy2 = Q.solve_integer(n)
1635
- sage: (xy1 is None) == (xy2 is None)
1649
+ sage: (xy is None) == (Q3.solve_integer(4*n) is None)
1636
1650
True
1637
1651
1638
1652
Test for square discriminants specifically (:trac:`33026`)::
0 commit comments