diff --git a/diophantine_classifier/data/families/thue-mahler.yaml b/diophantine_classifier/data/families/thue-mahler.yaml new file mode 100644 index 0000000..02ea94a --- /dev/null +++ b/diophantine_classifier/data/families/thue-mahler.yaml @@ -0,0 +1,26 @@ +# Family: Thue-Mahler equation +# Schema: see data/families/README.md; prose documentation in docs/FAMILIES.md. +# References are keys into data/references.bib, each with a 'why' annotation. +slug: thue-mahler +name: Thue-Mahler equation +priority: 1 +status: algorithmic +class: curve +form: F(x, y) = m * p_1^N_1 * ... * p_s^N_s +parents: +- thue +matcher: true +methods: +- S-unit reduction (Tzanakis-de Weger) +- Gherga-Siksek algorithm +software: + magma: Gherga-Siksek ThueMahler (GitHub) +examples: +- x^3 + 2*y^3 = 5^a * 11^b +references: +- key: Mahler1933 + why: "origin of the problem: finiteness with prime-power right-hand sides (p-adic method)" +- key: TzanakisDeWeger1992 + why: the classical practical algorithm +- key: GhergaSiksek2022 + why: the modern efficient implementation (Magma code) diff --git a/docs/FAMILIES.md b/docs/FAMILIES.md index 86434cf..3549605 100644 --- a/docs/FAMILIES.md +++ b/docs/FAMILIES.md @@ -177,6 +177,15 @@ certification for large fields); Magma: `Thue`. **References.** Thue 1909; Baker 1968; Bilu–Hanrot, "Solving Thue equations of high degree" (J. Number Theory 60, 1996). +### `thue-mahler` — Thue–Mahler equation — P1, effective/algorithmic +**Form.** F(x, y) = m · p₁^{N₁} ⋯ p_s^{N_s}, F irreducible deg ≥ 3, gcd(x,y) restrictions. +**Status.** Finite (Mahler 1933), effective (Coates 1969); practical algorithm +Tzanakis–de Weger 1992; modern efficient implementation Gherga–Siksek. +**Software.** Magma: Gherga–Siksek `ThueMahler` code (GitHub); PARI ≥ 2.17 has +S-unit tooling to script it. +**References.** Mahler 1933; Tzanakis–de Weger 1992; Gherga–Siksek, +"Efficient resolution of Thue–Mahler equations" (2022). + ### `hyperelliptic` — Hyperelliptic curves — P1, effective (integral) / ineffective (rational) **Form.** y² = f(x), f squarefree, deg f ≥ 5. **Status.** Integral points: finite, effective (Baker); practical via Baker + LLL diff --git a/tests/test_classify.py b/tests/test_classify.py index e3d6386..22941fc 100644 --- a/tests/test_classify.py +++ b/tests/test_classify.py @@ -40,6 +40,7 @@ ("x^4 + y^4 + z^4 = w^4", "", "equal-sums-like-powers"), # Elkies # polynomial-exponential ("x^3 - 4 = y^n", "", "power-values"), + ("x^3 + 2*y^3 = 5^a * 11^b", "", "thue-mahler"), # unit fractions ("1/x + 1/y + 1/z = 1", "", "egyptian-fractions"), ]