Le script donne les triangles primitifs à côtés entiers et un angle de 60° (resp 120°).
x² = u² + v² ± uv, PGCD(x,u,v)=1
Pour tous les r et s premiers entre eux, r non multiple de 3
r et s impairs
sinon
u = |3s²-r²-2rs|/4 v = |3s²-r²+2rs|/4 x = (r²+3s²)/4
u = |3s²-r²-2rs| v = |3s²-r²+2rs| x = r²+3s²
Si r<s ou r>3s, angle de 60°, x² = u² + v² - uv
Si s<r<3s angle de 120°, x² = u² + v² + uv
Le script cherche en fait pour chaque valeur de x les valeurs de r et s convenables,
ce qui donne les triangles triés par ordre de x croissant.
Annexe A - valeurs de x avec une solution |u-v|=1
4x²-1 = 3z² est une équation de Pell X²-3z² = 1, restreinte à X = 2x pair.
X = 2, z = 1 est la solution fondamentale, toutes les solutions avec X pair sont (2,1)2n+1,
le produit étant défini comme (a,b)*(u,v) = (au+3bv, av+bu).
C'est à dire zn+2 = 14zn+1-zn avec z0 = -1, z1 = 1
Xn+2/2 = xn+2 = 14xn+1-xn avec x0 = 1, x1 = 1
(pour x = 1 le seul triangle est u = v = 1. Aussi x = 1 est rejeté)