Triangles entiers avec un angle de 60° - Solutions
Soient u, v, x les côtés. x étant le côté opposé à l'angle de 60°.
x² = u² + v² - 2 uv cos(60°) = u² + v² - uv
Equivaut à
4x² = 3(u - v)² + (u + v)²
Posons y = u + v et z = u - v. 2u = y + z, 2v = y - z.
Notre équation équivaut à trouver tous les entiers x, y, z :
4x² - y² = 3z²
avec la restriction uv > 0, y² - z² > 0 soit
|y| > |z|.
Résolution de 4x² - y² = 3z²
Soit (x,y,z) une solution de 4x² - y² = 3z²,
écrite
(2x + y)(2x - y) = 3z².
Deux cas : ou bien 3 (premier) divise 2x + y ou bien 3 divise
2x - y
- Posons 2x + y = 3m.r² et 2x - y = m.s², PGCD(r,s) = 1
(ceci est toujours possible, si p est un diviseur premier de (2x + y)/3 ne divisant pas 2x - y,
comme il divise le produit z² son carré divise (2x + y)/3.
Tous les p ayant cette propriété composent le facteur r², ce qui reste est m)
Alors 4x = m(3r² + s²), 2y = m(3r² - s²), z = m.r.s
4 = 2² divise 4x, donc m = 4p, ou bien m = 2p et (3r² + s²) pair,
ou bien (3r² + s²) = 0 modulo 4
(3r²+s²) est pair si et seulement si r et s sont de même parité,
c'est à dire impairs car PGCD(r,s) = 1.
Comme u² = 0 ou 1 modulo 4, 3r² + s² = 0 modulo 4 si et seulement si
r et s sont de même parité.
Donc le cas m = 2p et (3r² + s²) pair est identique au cas (3r² + s²) = 0 modulo 4
Il ne reste que deux cas : m = 4p, ou bien r et s impairs
x = p(3r² + s²) et y = 2p(3r² - s²)/2, z = 4prs, r ou s pair
ou bien x = m(3r² + s²)/4 et y = m(3r² - s²)/2, z = mrs, r et s impairs
|
- Maintenant si 3 divise 2x - y, posons 2x + y = mr² et 2x - y = 3ms², PGCD(r,s) = 1
4x = m(r²+3s²) et 2y = m(r²-3s²) et la même méthode donne :
x = p(r² + 3s²) et y = 2p(r² - 3s²)/2, z = 4prs, r ou s pair
ou bien x = m(r² + 3s²)/4 et y = m(r² - 3s²)/2, z = mrs, r et s impairs
|
En échangeant r et s, les deux cas peuvent être résumés en :
x = m(r² + 3s²)/4
y = m|r² - 3s²|/2
z = mrs, r et s impairs
|
x = p(r² + 3s²)
y = 2p|r² - 3s²|
z = 4prs, r ou s pair
|
Une solution primitive est définie par PGCD(x,y,z) = 1
m vaut 1 et si q est un diviseur premier de r² + 3s² et r² - 3s²,
il divise r et 3s.
Donc PGCD(x,y,z) = 1 <=> m = 1 et PGCD(r,s) = 1 et PGCD(r,3) = 1
(r et s premiers entre eux et r non multiple de 3)
Dans le cas r ou s pair (un seul est pair, l'autre est impair puisque PGCD(r,s) = 1)
p vaut 1, r²+3s² est impair et si q premier divise r² + 3s²
et r² - 3s², il divise r et 3s.
Donc là encore r et s premiers entre eux et r non multiple de 3.
Finalement toutes les solutions primitives sont obtenues par tous les entiers (r,s) premiers entre eux,
r non multiple de 3.
r et s impairs | sinon |
x = (r² + 3s²)/4
y = |r² - 3s²|/2
z = rs
|
x = r² + 3s²
y = 2|r² - 3s²|
z = 4rs
|
Note : dans ce dernier cas, z = 4rs est multiple de 8 car r ou s est pair.
Et les triangles ?
Ne perdons pas de vue que ce qui nous interesse n'est pas tant l'équation
4x² - y² = 3z² mais plutôt x² = u² + v² - uv.
On passe de l'une à l'autre par
u = (y + z)/2, v = (y - z)/2 et il faut uv > 0.
|y| > |z| donne |r² - 3s²| > 2rs. En appelant t = r/s
|t² - 3| > 2t
soit 0 < t < 1 ou t > 3
Il faut donc se restreindre à r < s ou r > 3s
Dans ces conditions on a, avec toujours r et s premiers entre eux et 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 s < r < 3s, la solution de 4x² - y² = 3z² ne donne pas de solution
de
x² = u² + v² - uv.
Angle de 120°
On remarque que l'équation donnant les triangles d'angle 120° est x² = u² + v² + uv.
Soit 4x² = 3(u + v)² + (u - v)² ou 4x² = 3z² + y²,
c'est à dire la même équation mais avec cette fois
z = u + v et y = u - v soit u = (z + y)/2, v = (z - y)/2, |z| > |y|
Les solutions de x² = u² + v² + uv sont celles avec s < r < 3s |
et les mêmes formules que ci-dessus
Limites
Pour x donné, la valeur maximum de u et v est de 2x/√3 ≈ 1,15 x
On peut donc se limiter à x<20
alors (r² + 3s²)/4 < 20 donne
r² + 3s² < 80
et le maximum de
z = rs est
80/(2√3) ≈ 23,09...
Les valeurs peuvent être calculées à la main pour r < 9 et s < 6.
Et pour un angle de 120° :
Tables de valeurs
Un script donne la liste de toutes les solutions primitives avec
min < z < max.