Il s'agit d'illustrer le théorème des deux carrés de Fermat démontré par Pierre de FERMAT (1601-1665) en 1640,
et qui s'exprime par:
Théorème 1- Un entier naturel est la somme de deux carrés si, et seulement si, chacun de ses facteurs premiers de la forme 4k + 3
intervient à une puissance paire.
Par exemple 245 = 72.5 est somme de deux carrés mais pas 35 = 7.5. L'entier 49 = 72 est la somme 49 + 0; les possibles décompositions comportant le carré de 0 expriment que l'entier choisi est un carré parfait.
Théorème 2- Un nombre premier impair (donc à partir de 3) est somme de deux carrés si, et seulement si, il est congru à 1 modulo 4, et il y a alors unicité de la décomposition.
Par exemple 97 = 42 + 92, alors que 47 (comme tous les premiers de la forme 3 + 4 k) n'est pas la somme deux carrés.
Nous n'envisageons ici que des carrés d'entiers positifs; en acceptant des carrés d'entiers relatifs nous aurons 4 fois plus de décompositions ...
On parle encore du théorème de Noël de Fermat , car Fermat l'a envoyé à Mersenne le 25 décembre 1640 dans une longue lettre.
- Remarque sur le théorème 2.
Ce théorème que l'on appelle quelquefois théorème d'Euler-Fermat est particulièrement intéressant à cause de l'unicité du résultat.
La méthode standard pour cette décomposition est l'algorithme d'Euclide dans l'anneau euclidien des entiers de Gauss (nombres complexes dont les parties réelle et imaginaire sont des entiers relatifs). Pour le calcul effectif de ces décompositions on utilise le plus souvent l'algorithme de Cornacchia ou Cornacchia-Smith (introduit en 1908 pour résoudre des équations diophantiennes de type Pell-Fermat).
Ici ce logiciel en ligne de type php effectue un calcul brut qui peut être un peu 'long' (surtout dans la version Free) mais qui permet d'obtenir le résultat au moins jusqu'à 99989 pour la version Free et jusqu'à au moins 9999937 pour la version Biwi.
Des outils plus efficaces (difficiles à proposer en ligne), comme par exemple le C du logiciel Pari/Gp de l'Université de Bordeaux sont beaucoup plus rapides et permettent d'aller bien plus loin; les codes correspondants peuvent en particulier utiliser des fonctions de type modulo ce qui réduit drastiquement le nombre d'opérations à effectuer dans les calculs.
