The Pythagorean equation has a twin, living on the hexagonal lattice. Its solutions split into exactly three classes — and the reason reaches all the way to quadratic reciprocity.
The Pythagorean equation x² + y² = z² lives on the square lattice of the Gaussian integers
ℤ[i]. Every primitive solution comes from squaring a Gaussian integer: (p + qi)² gives the triple
(p² − q², 2pq, p² + q²). The parity condition p ≢ q (mod 2) ensures coprimality.
But the square lattice isn't the only game in town. The plane admits exactly two regular lattices with a Euclidean domain: the square lattice (ℤ[i]) and the hexagonal lattice (ℤ[ω]), where ω = e2πi/3. Moving to the hexagonal lattice transforms the norm form from a² + b² to a² − ab + b², and the Pythagorean equation becomes:
The change of sign from +ab to −ab reflects the angle change from 90° to 120°. The solutions are Eisenstein–Pythagorean triples, and their structure is richer than the classical case in every way.
Just as Pythagorean triples come from squaring Gaussian integers, Eisenstein–Pythagorean triples come from squaring Eisenstein integers. If γ = m + nω with gcd(m,n) = 1 and m > n > 0, then:
The triple satisfies a² − ab + b² = c² automatically, because c = Nρ(γ) is the Eisenstein norm, and N(γ²) = N(γ)² = c².
Pick generator values m and n (with m > n > 0 and gcd(m,n) = 1) and see the resulting Eisenstein–Pythagorean triple, its classification, and conjugate.
In the Gaussian case, parity is binary: p and q are either the same parity (even triple) or different (primitive triple). Two classes. In the Eisenstein case, the "even prime" is β = 1 − ω with norm 3, so the quotient ring ℤ[ω]/⟨β⟩ has three residue classes that are isomorphic to ℤ₃ giving a ternary parity:
This ternary parity completely governs which triples are primitive, and within the primitive class, conjugation symmetry (γ ↔ γ̄) creates a canonical/conjugate distinction. The result is a three-way partition:
gcd(a, b, c) = 3. The generator γ is "even" so divisible by β = 1−ω.
gcd(a, b, c) = 1 with a > b. The natural representative of the conjugate pair.
gcd(a, b, c) = 1 with a < b. The a ↔ b mirror of a canonical triple.
Each class contains asymptotically one-third of all coprime parameter pairs. The boundary m = 2n (where a = b) forces m + n = 3n ≡ 0 (mod 3), so it falls into the non-primitive class. This means no self-conjugate primitive triple exists.
Each cell below represents a coprime pair (m, n) with m > n > 0. The colour shows its classification that is determined entirely by (m + n) mod 3 and the ratio m : 2n. Hover to see the triple.
The first Eisenstein–Pythagorean triples, sorted by class. Conjugate pairs share the same c-value.
The key algebraic fact (Hadi et al., Proposition 1): for γ = m + nω with gcd(m,n) = 1, the gcd of γ with its conjugate γ̄ is either 1 (if γ is odd) or β (if γ is even). When γ is even:
When γ is odd, gcd(γ, γ̄) = 1. Any prime dividing gcd(a,b,c) would divide both γ² and γγ̄, hence would divide gcd(γ, γ̄)² = 1. Contradiction. So gcd(a,b,c) = 1.
The two theories are structurally parallel at every level. The question is: why?
The parallel is not coincidence. Both theories are governed by the same pair of arithmetic principles, operating in different imaginary quadratic fields:
Representability — which primes can appear as c? — is controlled by splitting, determined by quadratic reciprocity. A prime p is representable by the norm form iff p splits or ramifies in OK.
Primitivity — when is the triple coprime? — is controlled by ramification. Reduction modulo the ramified prime 𝔭 gives OK/𝔭 ≅ ℤp. The generator's residue class, equivalently its "parity" determines coprimality:
Gaussian: 𝔭 = (1+i), p = 2, binary parity. Eisenstein: 𝔭 = (1−ω), p = 3, ternary parity. Same principle, different ramified prime.
Splitting behaviour comes from quadratic reciprocity applied to the discriminant: (−1/p) for ℚ(√−1), giving p ≡ 1 (mod 4); (−3/p) for ℚ(√−3), giving p ≡ 1 (mod 3). Fermat's two-square theorem and its Eisenstein analogue are thus the same theorem, specialised to the two exceptional imaginary quadratic fields with class number 1 and extra units.
The unit group of ℤ[ω] is {±1, ±ω, ±ω²} — six elements, corresponding to 60° rotations. Every triple (a, b, c) has an orbit of six images under unit multiplication, all with the same c. For (8, 5, 7), the orbit includes (5, 3, 7) and (3, 8, 7) among the positive representatives.
The six images of (8,5)/7 on the Eisenstein unit ellipse X² − XY + Y² = 1. The hexagonal symmetry of the lattice metric makes these six points equidistant in norm.
The representability principle makes this precise. A prime p can appear as the hypotenuse c in a primitive triple iff it's representable by the norm form . That is, iff it splits or ramifies.
| Gaussian | Eisenstein | |
|---|---|---|
| Field | ℚ(√−1) | ℚ(√−3) |
| Ramified | p = 2 | p = 3 |
| Splits | p ≡ 1 (mod 4) | p ≡ 1 (mod 3) |
| Inert | p ≡ 3 (mod 4) | p ≡ 2 (mod 3) |
| Valid c | 2, 5, 13, 17, 25, 29 … | 3, 7, 13, 19, 31, 37 … |
Notice 13 appears in both lists: it splits in both rings because 13 ≡ 1 (mod 4) and 13 ≡ 1 (mod 3), i.e., 13 ≡ 1 (mod 12). The two conditions are independent specialisations of the Legendre symbol.