MathQuest

PGCD, PPCM et Euclide

⏱ ~12 min·+30 XP
💡

Pourquoi apprendre ça ?

Le PGCD (Plus Grand Commun Diviseur) de deux entiers est le plus grand entier qui divise les deux. Il mesure le "facteur commun maximal". L'algorithme d'Euclide permet de le calculer en quelques étapes, sans factoriser — une des plus anciennes et plus efficaces techniques mathématiques.

🎯

Analogie

Tu veux couper deux planches de 48 cm et 36 cm en morceaux égaux les plus grands possibles, sans gaspillage. La longueur idéale est le PGCD(48, 36) = 12 cm. L'algorithme d'Euclide trouve cette valeur en effectuant des divisions successives, comme peser avec une balance en retirant itérativement la plus petite quantité de la plus grande.

Divisibilité et PGCD

📐

Théorie

Un entier aa divise bb (noté aba \mid b) si kZ, b=ka\exists k \in \mathbb{Z},\ b = ka.

Le Plus Grand Commun Diviseur (PGCD) de a,bZa, b \in \mathbb{Z} (non tous nuls) :

gcd(a,b)=max{dNda et db}\gcd(a, b) = \max\{d \in \mathbb{N}^* \mid d \mid a \text{ et } d \mid b\}

Propriétés :

  • gcd(a,0)=a\gcd(a, 0) = |a|
  • gcd(a,b)=gcd(b,a)\gcd(a, b) = \gcd(b, a)
  • gcd(a,b)=gcd(a,b)=gcd(a,b)\gcd(a, b) = \gcd(-a, b) = \gcd(|a|, |b|)
  • gcd(a,b)=gcd(ab,b)\gcd(a, b) = \gcd(a - b, b) — clé de l'algorithme d'Euclide
  • gcd(a,b)a\gcd(a, b) \mid a et gcd(a,b)b\gcd(a, b) \mid b

aa et bb sont premiers entre eux (copremiers) si gcd(a,b)=1\gcd(a, b) = 1.

📝

Calcul direct du PGCD

gcd(12,18)\gcd(12, 18) : diviseurs de 12 = {1,2,3,4,6,12}\{1,2,3,4,6,12\}, diviseurs de 18 = {1,2,3,6,9,18}\{1,2,3,6,9,18\}.

Diviseurs communs : {1,2,3,6}\{1, 2, 3, 6\}. Le plus grand : gcd(12,18)=6\gcd(12, 18) = 6.

Cette méthode est inefficace pour de grands nombres — l'algorithme d'Euclide est bien plus rapide.

Algorithme d'Euclide

📐

Théorie

Algorithme des divisions successives (Euclide) :

Basé sur la propriété : gcd(a,b)=gcd(b,amodb)\gcd(a, b) = \gcd(b, a \bmod b)

Euclide(a, b):
  tant que b ≠ 0 :
    r ← a mod b
    a ← b
    b ← r
  retourner a

Convergence : à chaque étape, bb diminue strictement. L'algorithme s'arrête quand b=0b = 0.

Complexité : O(log(min(a,b)))O(\log(\min(a,b))) étapes — très efficace même pour de très grands entiers.

📝

Trace de l'algorithme d'Euclide pour gcd(252, 105)

| Étape | aa | bb | r=amodbr = a \bmod b | |-------|-----|-----|----------------| | 1 | 252 | 105 | 252=2×105+42252 = 2 \times 105 + 42r=42r = 42 | | 2 | 105 | 42 | 105=2×42+21105 = 2 \times 42 + 21r=21r = 21 | | 3 | 42 | 21 | 42=2×21+042 = 2 \times 21 + 0r=0r = 0 | | Fin | 21 | 0 | retourner a=21a = 21 |

gcd(252,105)=21\gcd(252, 105) = 21. Vérification : 252=12×21252 = 12 \times 21 et 105=5×21105 = 5 \times 21. ✓

🧩

Checkpoint

Quel est gcd(48, 18) calculé par l'algorithme d'Euclide ?

Identité de Bézout

📐

Théorie

Théorème de Bézout : Pour tous a,bZa, b \in \mathbb{Z} (non tous nuls), il existe u,vZu, v \in \mathbb{Z} tels que :

au+bv=gcd(a,b)au + bv = \gcd(a, b)

(u,v)(u, v) sont appelés coefficients de Bézout. Ils se calculent par l'algorithme d'Euclide étendu (remontée des divisions).

Conséquences :

  • gcd(a,b)=1\gcd(a, b) = 1u,vZ, au+bv=1\exists u,v \in \mathbb{Z},\ au + bv = 1
  • Si abca \mid bc et gcd(a,b)=1\gcd(a, b) = 1, alors aca \mid c (lemme de Gauss)
  • Les solutions de axc(modb)ax \equiv c \pmod{b} existent ⟺ gcd(a,b)c\gcd(a,b) \mid c
📝

Coefficients de Bézout pour gcd(252, 105) = 21

Remontée des divisions :

Étape 3 : 42=2×2121=422×2142 = 2 \times 21 \Rightarrow 21 = 42 - 2 \times 21... non, plutôt :

21=1052×4221 = 105 - 2 \times 42 (de l'étape 2)

42=2522×10542 = 252 - 2 \times 105 (de l'étape 1)

Substitution : 21=1052×(2522×105)=1052×252+4×105=5×1052×25221 = 105 - 2 \times (252 - 2 \times 105) = 105 - 2 \times 252 + 4 \times 105 = 5 \times 105 - 2 \times 252

Donc : 252×(2)+105×5=21=gcd(252,105)252 \times (-2) + 105 \times 5 = 21 = \gcd(252, 105)

Vérification : 504+525=21-504 + 525 = 21 ✓. Les coefficients de Bézout sont u=2, v=5u = -2,\ v = 5.

PPCM et lien avec le PGCD

📐

Théorie

Le Plus Petit Commun Multiple (PPCM) de a,bNa, b \in \mathbb{N}^* :

ppcm(a,b)=min{mNam et bm}\text{ppcm}(a, b) = \min\{m \in \mathbb{N}^* \mid a \mid m \text{ et } b \mid m\}

Relation fondamentale :

gcd(a,b)×ppcm(a,b)=a×b\gcd(a, b) \times \text{ppcm}(a, b) = |a \times b|

Donc : ppcm(a,b)=abgcd(a,b)\text{ppcm}(a, b) = \dfrac{|ab|}{\gcd(a,b)}

Cette formule permet de calculer le PPCM une fois le PGCD connu.

Application aux fractions : réduire ab\frac{a}{b} → diviser par gcd(a,b)\gcd(a,b). Additionner pa+qb\frac{p}{a} + \frac{q}{b} → dénominateur commun = ppcm(a,b)\text{ppcm}(a, b).

📝

PPCM via le PGCD

ppcm(12,18)\text{ppcm}(12, 18) :

gcd(12,18)=6\gcd(12, 18) = 6 (calculé plus haut)

ppcm(12,18)=12×186=2166=36\text{ppcm}(12, 18) = \dfrac{12 \times 18}{6} = \dfrac{216}{6} = 36

Vérification : 36=3×12=2×1836 = 3 \times 12 = 2 \times 18

Application : 512+718=5×336+7×236=15+1436=2936\dfrac{5}{12} + \dfrac{7}{18} = \dfrac{5 \times 3}{36} + \dfrac{7 \times 2}{36} = \dfrac{15 + 14}{36} = \dfrac{29}{36}

⚠️

Piège : ppcm(a,b) ≠ a×b en général

Le PPCM n'est égal au produit que lorsque gcd(a,b)=1\gcd(a,b) = 1 (entiers premiers entre eux). Sinon, le produit surestime le PPCM. Exemple : ppcm(4,6)=1224=4×6\text{ppcm}(4, 6) = 12 \neq 24 = 4 \times 6. Toujours diviser par le PGCD.

🧩

Checkpoint

Si gcd(a, b) = 4 et a×b = 96, quel est ppcm(a, b) ?

Algorithme d'Euclide étendu

📐

Théorie

L'algorithme d'Euclide étendu calcule simultanément le PGCD et les coefficients de Bézout (u,v)(u, v) tels que au+bv=gcd(a,b)au + bv = \gcd(a, b).

On maintient deux suites de coefficients (si,ti)(s_i, t_i) satisfaisant à chaque étape ri=asi+btir_i = a \cdot s_i + b \cdot t_i :

| Étape | rir_i | sis_i | tit_i | Quotient | |-------|--------|--------|--------|----------| | 0 | aa | 11 | 00 | — | | 1 | bb | 00 | 11 | — | | kk | rk2qk1rk1r_{k-2} - q_{k-1}\, r_{k-1} | sk2qk1sk1s_{k-2} - q_{k-1}\, s_{k-1} | tk2qk1tk1t_{k-2} - q_{k-1}\, t_{k-1} | qk1q_{k-1} |

qk1=rk2/rk1q_{k-1} = \lfloor r_{k-2}/r_{k-1} \rfloor est le quotient euclidien.

Application — inverse modulaire : si gcd(a,m)=1\gcd(a, m) = 1, il existe a1(modm)a^{-1} \pmod{m} tel que aa11(modm)a \cdot a^{-1} \equiv 1 \pmod{m}. C'est le coefficient uu de Bézout pour (a,m)(a, m).

📝

Euclide étendu : gcd(35, 15) et inverse de 3 modulo 7

Euclide étendu pour gcd(35,15)\gcd(35, 15) :

| Étape | rr | ss | tt | Quotient | |-------|-----|-----|-----|----------| | 0 | 35 | 1 | 0 | — | | 1 | 15 | 0 | 1 | — | | 2 | 352×15=535 - 2 \times 15 = 5 | 12×0=11 - 2 \times 0 = 1 | 02×1=20 - 2 \times 1 = -2 | 2 | | 3 | 153×5=015 - 3 \times 5 = 0 | — | — | 3 |

gcd(35,15)=5\gcd(35, 15) = 5. Vérification : 35×1+15×(2)=3530=535 \times 1 + 15 \times (-2) = 35 - 30 = 5

Inverse de 3 modulo 7 : gcd(3,7)=1\gcd(3, 7) = 1, l'inverse existe.

On cherche u,vu, v tels que 3u+7v=13u + 7v = 1 : par Euclide étendu, u=2, v=1u = -2,\ v = 1.

25(mod7)-2 \equiv 5 \pmod{7}, donc 315(mod7)3^{-1} \equiv 5 \pmod{7}. Vérification : 3×5=15=2×7+11(mod7)3 \times 5 = 15 = 2 \times 7 + 1 \equiv 1 \pmod{7}

PGCD et cryptographie RSA

📐

Théorie

Lien PGCD — RSA :

  1. Choisir deux grands premiers p,qp, q. Poser n=pqn = pq.
  2. Calculer ϕ(n)=(p1)(q1)\phi(n) = (p-1)(q-1) (indicatrice d'Euler).
  3. Choisir ee tel que gcd(e,ϕ(n))=1\gcd(e, \phi(n)) = 1.
  4. Calculer d=e1(modϕ(n))d = e^{-1} \pmod{\phi(n)} via l'algorithme d'Euclide étendu.
  5. Clé publique : (e,n)(e, n). Clé privée : (d,n)(d, n).
  6. Chiffrement : cme(modn)c \equiv m^e \pmod{n}. Déchiffrement : mcd(modn)m \equiv c^d \pmod{n}.

L'inverse modulaire (étape 4) repose entièrement sur l'algorithme d'Euclide étendu.

Condition d'existence de l'inverse : a1(modm)a^{-1} \pmod{m} existe     gcd(a,m)=1\iff \gcd(a, m) = 1.

Lien PGCD–PPCM rappel : gcd(a,b)×ppcm(a,b)=ab\gcd(a,b) \times \text{ppcm}(a,b) = |ab|, ce qui permet de calculer le PPCM dès que le PGCD est connu.

📝

Mini-RSA avec de petits nombres

p=5, q=11n=55, ϕ(n)=40p = 5,\ q = 11 \Rightarrow n = 55,\ \phi(n) = 40.

Choisissons e=3e = 3 : gcd(3,40)=1\gcd(3, 40) = 1 ✓.

Euclide étendu : 3×(13)+40×1=13 \times (-13) + 40 \times 1 = 1, donc d1327(mod40)d \equiv -13 \equiv 27 \pmod{40}.

Chiffrement de m=2m = 2 : c23=8(mod55)c \equiv 2^3 = 8 \pmod{55}.

Déchiffrement : 827(mod55)=28^{27} \pmod{55} = 2 ✓ (par exponentiation rapide).

🧩

Checkpoint

Quel est l'inverse de 5 modulo 7 (c'est-à-dire x tel que 5x ≡ 1 mod 7) ?

🧩

Checkpoint

Si gcd(12, 30) = 6, quel est ppcm(12, 30) ?

À retenir

  • PGCD : plus grand commun diviseur — gcd(a,b)=gcd(b,amodb)\gcd(a,b) = \gcd(b, a \bmod b)
  • Algorithme d'Euclide : divisions successives, O(logmin(a,b))O(\log \min(a,b)) étapes
  • Théorème de Bézout : u,vZ, au+bv=gcd(a,b)\exists u,v \in \mathbb{Z},\ au + bv = \gcd(a,b)
  • Euclide étendu : calcule simultanément PGCD et coefficients de Bézout (u,v)(u, v)
  • Inverse modulaire : a1(modm)a^{-1} \pmod{m} existe     gcd(a,m)=1\iff \gcd(a,m)=1 — clé de RSA
  • PPCM : ppcm(a,b)=ab/gcd(a,b)\text{ppcm}(a,b) = |ab|/\gcd(a,b)
  • a,ba, b premiers entre eux     gcd(a,b)=1    u,v, au+bv=1\iff \gcd(a,b) = 1 \iff \exists u,v,\ au + bv = 1
Passer aux exercices →