Mathématiques · Glossaire

Qu'est-ce que « Congruence » ?

Définition 29.4 Mathématiques du lycée · Chapitre 29 — Arithmétique

Soit nNn \in \N^*. Deux entiers a,ba, b sont congrus modulo nn, noté ab(modn)a \equiv b \pmod n, si n(ab)n \mid (a - b) — de façon équivalente, si aa et bb ont le même reste dans la division euclidienne par nn.

Lire dans le chapitre →
Définition 6.18 Mathématiques universitaires — Licence 1 · Chapitre 6 — Arithmétique des entiers

Pour nNn \in \N^* : ab(modn)a \equiv b \pmod n lorsque nabn \mid a - b. C’est une relation d’équivalence compatible avec l’addition et la multiplication : si aba \equiv b et aba' \equiv b' (mod nn), alors a+ab+ba + a' \equiv b + b', aabbaa' \equiv bb', et akbka^k \equiv b^k pour kNk \in \N.

Exemples

Exemple 6.19 (La preuve par neuf)

La compatibilité avec ++ et ×\times est un procédé de vérification aussi vieux que le commerce. Comme 101(mod9)10 \equiv 1 \pmod 9, tout entier est congru modulo 99 à la somme de ses chiffres (démontré à l’Exercice 6.2). Pour vérifier l’affirmation 1234×567=6996781234 \times 567 = 699\,678 : les sommes des chiffres donnent 123411234 \equiv 1 et 567180(mod9)567 \equiv 18 \equiv 0 \pmod 9, donc le produit doit être 1×0=0\equiv 1 \times 0 = 0 ; et en effet 6+9+9+6+7+8=4506 + 9 + 9 + 6 + 7 + 8 = 45 \equiv 0. La vérification passe (et le produit est en fait correct). Si quelqu’un avait annoncé 699478699\,478, la somme des chiffres 437≢043 \equiv 7 \not\equiv 0 le confondrait aussitôt. Le test est unilatéral — il attrape une erreur sauf si l’erreur est elle-même un multiple de 99 — ce qui est exactement, en miniature, la leçon des pseudo-premiers de l’Exemple 6.24 : les vérifications par congruence réfutent, elles ne certifient pas.

Exemple 6.21 (Inverser 77 modulo 2626)

Comme gcd(7,26)=1\gcd(7, 26) = 1, la classe de 77 est inversible modulo 2626. Euclide étendu :

26=3×7+5,7=1×5+2,5=2×2+1,26 = 3 \times 7 + 5, \qquad 7 = 1 \times 5 + 2, \qquad 5 = 2 \times 2 + 1 ,

puis en remontant :

1=52×2=52(75)=3×52×7=3(263×7)2×7=3×2611×7.1 = 5 - 2 \times 2 = 5 - 2(7 - 5) = 3 \times 5 - 2 \times 7 = 3(26 - 3 \times 7) - 2 \times 7 = 3 \times 26 - 11 \times 7 .

Donc 7×(11)1(mod26)7 \times (-11) \equiv 1 \pmod{26}, c’est-à-dire 711115(mod26)7^{-1} \equiv -11 \equiv 15 \pmod{26} ; vérification : 7×15=105=4×26+17 \times 15 = 105 = 4 \times 26 + 1. Une fois l’inverse en main, toute congruence 7xc(mod26)7x \equiv c \pmod{26} se résout en une multiplication : x15cx \equiv 15c. Cette inversion mécanique est le cheval de trait de l’arithmétique modulaire — et des protocoles à clé publique évoqués à la Remarque 6.27, où les modules ont des centaines de chiffres mais où l’algorithme est exactement celui-ci.

Exemple 6.22 (Quand le coefficient n’est pas inversible)

Résolvons 12x8(mod20)12x \equiv 8 \pmod{20}. Ici gcd(12,20)=4\gcd(12, 20) = 4, donc 1212 n’est pas inversible modulo 2020 — mais l’équation reste traitable. La congruence dit que 2012x820 \mid 12x - 8 ; en divisant toute la relation par 44 (diviseur des trois ingrédients), elle est équivalente à 53x25 \mid 3x - 2, c’est-à-dire

3x2(mod5).3x \equiv 2 \pmod 5 .

Or gcd(3,5)=1\gcd(3, 5) = 1 et 312(mod5)3^{-1} \equiv 2 \pmod 5 (3×2=613 \times 2 = 6 \equiv 1), donc x4(mod5)x \equiv 4 \pmod 5 : les solutions sont x4,9,14,19(mod20)x \equiv 4, 9, 14, 19 \pmod{20}quatre classes modulo 2020, en accord avec le PGCD. (Si le second membre n’avait pas été divisible par 44, par exemple 12x6(mod20)12x \equiv 6 \pmod{20}, il n’y aurait aucune solution : le premier membre est toujours 0(mod4)\equiv 0 \pmod 4.) Forme générale : axb(modn)ax \equiv b \pmod n est résoluble si et seulement si gcd(a,n)b\gcd(a, n) \mid b, et a alors exactement gcd(a,n)\gcd(a, n) classes de solutions — on divise tout par le PGCD et on inverse.

Lire dans le chapitre →