Chapitre 3 — Arithmétique

CPGE — Divisibilité dans \(\mathbb{N}\) et \(\mathbb{Z}\) · PGCD · PPCM · Nombres premiers
TABLE DES MATIÈRES
INDEX — DÉFINITIONS, THÉORÈMES, PROPOSITIONS, MÉTHODES, ALGORITHMES
📘 Définitions
Déf. 1 — Divisibilité dans ℤ→ I.1
Déf. 2 — Nombres premiers→ I.3
Déf. 3 — Entiers premiers entre eux→ I.4
Déf. 4 — PGCD→ II.1
Déf. 5 — PPCM→ II.5
📕 Théorèmes
Thm. 1 — Division euclidienne→ I.2
Thm. 2 — Critère d'arrêt (√n)→ I.3
Thm. 3 — Infinité des nombres premiers→ I.3
Thm. 4 — Théorème fondamental de l'arithmétique→ I.3
Thm. 5 — pgcd(a,b) = pgcd(b,r) (Lemme)→ II.1
↳ Lemme d'Euclide (démonstration)→ II.1
Thm. 6 — PGCD = dernier reste non nul→ II.2
Thm. 7 — Diviseurs communs = diviseurs du PGCD→ II.2
Thm. 8 — Propriété du PPCM→ II.5
Thm. 9 — pgcd(a,b) × ppcm(a,b) = ab→ II.5
Bézout — pgcd(a,b)=1 ⟺ ∃u,v : au+bv=1→ II.2
Gauss — a∧b=1 et a|bc ⟹ a|c→ II.2
↳ Cor. Gauss : a|n, b|n, a∧b=1 ⟹ ab|n→ II.2
📗 Propositions et corollaires
Prop. 1 — Divisibilité : réflexive, antisymétrique, transitive→ I.1
Prop. 2 — Compatibilité (combinaisons linéaires)→ I.1
Prop. 3 — Propriétés de la division euclidienne→ I.2
Prop. — Tout n>1 admet un diviseur premier→ I.3
Cor. 1 — a|b ⟺ exposants ≤ (décomp. primaire)→ I.3
Cor. 2 — Nombre de diviseurs→ I.3
Prop. 4 — pgcd(a,a)=a, pgcd(a,1)=1, a|b⟹pgcd=a→ II.1
Prop. 5 — pgcd(ka,kb) = k × pgcd(a,b)→ II.2
Prop. 6 — PGCD via décomposition primaire→ II.2
Prop. 7 — PPCM via décomposition primaire→ II.5
Cor. 3 — Corollaire PPCM→ II.5
Prop. — b|a ⟹ b ≤ a dans ℕ (ordre partiel)→ I.1
Prop. — a=da', b=db', pgcd(a',b')=1 (forme réduite)→ II.1
Prop. — Résolution de ax ≡ b [n]→ II.3
Prop. — Nombre premier et multiple→ I.4
📙 Méthodes
Résoudre f(n) | g(n)→ I.1
Factoriser un entier (divisions successives)→ I.3
Montrer l'égalité de deux entiers positifs→ II.1
PPCM en pratique→ II.5
Algorithmes Python
Test de primalité→ I.3
Décomposition en facteurs premiers→ I.3
Crible d'Ératosthène→ I.3
Algorithme d'Euclide (pgcd)→ II.2
Coefficients de Bézout→ II.2
Équation diophantienne ax+by=c→ II.4

I — Rudiments d'arithmétique dans \(\mathbb{N}\) et \(\mathbb{Z}\)

I.1 Divisibilité

Définition 1 — Divisibilité dans \(\mathbb{Z}\)

Soient \(a\) et \(b\) des entiers relatifs. On dit que \(a\) divise \(b\), noté \(a \mid b\), s'il existe un entier relatif \(k\) tel que \(b = ka\).

Comme \(a\) et \(-a\) ont les mêmes diviseurs dans \(\mathbb{Z}\), on se restreindra le plus souvent à la divisibilité dans \(\mathbb{N}\).

Exemple — Bien comprendre \(\mathcal{D}(b)\) et \(a\mathbb{Z}\)

\(\mathcal{D}(123)\) — l'ensemble des diviseurs de 123 :

On cherche tous les entiers qui divisent 123. On décompose : \(123 = 3 \times 41\). Donc :

\[\mathcal{D}(123) = \{1, 3, 41, 123\}\]

Vérification : \(123 = 1 \times 123 = 3 \times 41\). Ce sont bien les seuls diviseurs.

Pourquoi s'arrêter à 41 ? On a \(\sqrt{123} \approx 11{,}1\). D'après le Théorème 2 (critère d'arrêt), si 123 avait un diviseur premier \(p > 11\), il aurait obligatoirement un co-diviseur \(q = 123/p < 11\) déjà détecté. On teste donc uniquement les premiers \(\leq 11\) : 2, 3, 5, 7, 11. Seul 3 divise 123, donnant le quotient 41 qui est lui-même premier (car \(\sqrt{41} \approx 6{,}4\) et 2, 3, 5 ne le divisent pas).

\(21\mathbb{Z}\) — l'ensemble des multiples de 21 :

On prend tous les entiers relatifs \(k\) et on calcule \(21k\) :

\[21\mathbb{Z} = \{\ldots,\ -42,\ -21,\ 0,\ 21,\ 42,\ 63,\ 84,\ \ldots\}\]

Ce sont tous les entiers de la forme \(21k\) avec \(k \in \mathbb{Z}\).

Exemples
Proposition 1 — Relation de divisibilité dans \(\mathbb{N}\)

Pour tous \(a, b, c \in \mathbb{N}\) :

  1. Réflexivité : \(\forall a \in \mathbb{N},\ a \mid a\) et \(1 \mid a\).
  2. Antisymétrie : \(\begin{cases} a \mid b \\ b \mid a \end{cases} \Rightarrow a = b\)
  3. Transitivité : \(\begin{cases} a \mid b \\ b \mid c \end{cases} \Rightarrow a \mid c\)

La relation \(a \mid b\) est une relation d'ordre sur \(\mathbb{N}\). C'est un ordre non total (ou ordre partiel).

Complément — Ordre partiel et lien avec \(\leq\) (Jean Wacksmann)

Ordre partiel. La relation \(\mid\) est un ordre partiel car deux entiers naturels ne sont pas toujours comparables pour \(\mid\), par opposition à la relation \(\leq\) qui est d'ordre total dans \(\mathbb{R}\).

Un contre-exemple est obtenu en prenant \(a = 7\) et \(b = 10\) : ni \(7 \mid 10\) ni \(10 \mid 7\) — ces deux entiers ne sont donc pas comparables pour \(\mid\), ce qui suffit à montrer que l'ordre n'est pas total.

Par ailleurs, pour tout \(a \in \mathbb{N}\), on a \(1 \mid a\) et \(a \mid a\), car \(a = 1 \times a\), donc \(\{1, a\} \subset \mathcal{D}(a)\).

Proposition — Lien entre \(\mid\) et \(\leq\). Soient \(a\) et \(b\) deux entiers naturels non nuls.

\[b \mid a \implies b \leq a\]

Démonstration. Si \(b \mid a\), il existe \(q \in \mathbb{N}\) tel que \(a = bq\). Puisque \(a \in \mathbb{N}^*\), on a \(q \geq 1\). Comme \(b > 0\), on en déduit que \(bq \geq b\), ce qui justifie que \(a \geq b\). ✓

Remarque. La réciproque est fausse : \(7 \leq 12\) mais \(7 \nmid 12\).

Complément — Démonstration des propriétés (Jean Wacksmann)

Réflexivité. Soit \(a \in \mathbb{N}\). On a \(a = a \times 1\), donc \(a \mid a\). ✓

Antisymétrie. Soient \(a \in \mathbb{N}^*\) et \(b \in \mathbb{N}^*\) tels que \(a \mid b\) et \(b \mid a\). Il existe \(q\) et \(q'\) entiers naturels tels que \(b = aq\) et \(a = bq'\).

On en déduit que \(a = (aq)q' = a(qq')\). Puisque \(a \neq 0\), il vient \(qq' = 1\).

Or \(q\) et \(q'\) sont des entiers naturels, donc \(q = q' = 1\), ce qui justifie que \(a = b\). ✓

Transitivité. Soient \(a \in \mathbb{N}^*\), \(b \in \mathbb{N}^*\) et \(c \in \mathbb{N}\) tels que \(a \mid b\) et \(b \mid c\).

Il existe \(q\) et \(q'\) entiers naturels tels que \(b = aq\) et \(c = bq'\).

On en déduit que \(c = (aq)q' = a(qq')\), avec \(qq' \in \mathbb{N}\).

On a ainsi prouvé que \(a \mid c\). ✓

Sur \(\mathbb{Z}\), la relation \(a \mid b\) est seulement réflexive et transitive. On perd l'antisymétrie : \[\forall a, b \in \mathbb{Z},\quad \begin{cases} a \mid b \\ b \mid a \end{cases} \Longleftrightarrow |a| = |b|.\]
Proposition 2 — Compatibilité

Pour tous \(a, b, c \in \mathbb{N}\) :

  1. \(\forall m, n \in \mathbb{N},\ \begin{cases} a \mid b \\ a \mid c \end{cases} \Rightarrow a \mid (mb + nc)\)   (combinaisons linéaires entières)
  2. \(\forall a', b' \in \mathbb{N},\ \begin{cases} a \mid b \\ a' \mid b' \end{cases} \Rightarrow aa' \mid bb'\)   (compatibilité multiplicative)

En particulier, \(\forall n \in \mathbb{N},\ a \mid b \Rightarrow a^n \mid b^n\).

Cas particuliers importants (issus de la combinaison linéaire avec \(m,n \in \{0,1,-1\}\)) :

On n'a pas en général \(\begin{cases} a \mid c \\ b \mid c \end{cases} \Rightarrow ab \mid c\). Exemple : \(2 \mid 12\) et \(4 \mid 12\) mais \(8 \nmid 12\).
On n'a pas non plus \(a \mid bc \Rightarrow a \mid b\). Exemple : \(10 \mid 210 = 14 \times 15\) mais \(10 \nmid 14\).
Exemple

Si \(a \in \mathbb{Z}\) divise \(3n + 2\) et \(n - 3\), alors \(a \mid 11\).

En effet, \(a\) divise alors \((3n+2) - 3(n-3) = 11\).

Méthode — Problème du type \(f(n) \mid g(n)\)

Pour résoudre un problème du type \(f(n) \mid g(n)\), on se ramène à \(f(n) \mid A\) où \(A\) est un entier indépendant de \(n\), puis on liste les diviseurs de \(A\).

Étape 1 — Éliminer \(n\) (deux approches équivalentes)

Étape 2 — Lister les diviseurs de \(A\)

Si \(A\) est premier, ses diviseurs sont \(\pm 1\) et \(\pm A\). Sinon, décomposer \(A\) en facteurs premiers.

Étape 3 — Résoudre \(f(n) = d\) pour chaque diviseur \(d\) de \(A\).

Étape 4 — Vérifier chaque solution obtenue.

Exemple complet : \((2n-3) \mid (n+5)\)

Étape 1 : \(2(n+5) - (2n-3) = 13\), donc \((2n-3) \mid 13\).

Étape 2 : 13 est premier, diviseurs : \(-13, -1, 1, 13\).

Étape 3 :

\(2n-3 = d\)\(2n = d+3\)\(n\)
\(1\)\(4\)\(2\)
\(-1\)\(2\)\(1\)
\(13\)\(16\)\(8\)
\(-13\)\(-10\)\(-5\)

Étape 4 : Toutes les valeurs sont vérifiées. Conclusion : \(n \in \{-5, 1, 2, 8\}\).

Exercice 1

On appelle nombre parfait tout nombre égal à la somme de ses diviseurs stricts. Montrer que \(28\) est parfait.

Exercice 2

Déterminer les couples \((x;y)\) d'entiers naturels vérifiant \(x^2 = y^2 + 21\).

Exercice 3

Trouver les entiers naturels \(n\) pour lesquels \(\dfrac{n+15}{n+2}\) est entier.


I.2 Division euclidienne

Théorème 1 — Division euclidienne

Pour tout \((a,b) \in \mathbb{N} \times \mathbb{N}^*\), il existe un unique couple \((q,r) \in \mathbb{N}^2\) tel que :

\[a = bq + r \quad \text{et} \quad 0 \leq r < b.\]

On appelle \(q\) le quotient, \(r\) le reste, \(a\) le dividende et \(b\) le diviseur.

Complément — Démonstration complète (Jean Wacksmann)

Existence du couple \((q, r)\).

Soient \(a \in \mathbb{N}\) et \(b \in \mathbb{N}^*\). On représente sur la droite numérique les multiples de \(b\) de \(0\) jusqu'à \((a+1)b\) :

0  ·  b  ·  2b  ·  ···  ·  qb  ·  a  ·  (q+1)b  ·  ···  ·  (a+1)b

Nous avons \(b \geq 1\). Puisque \(a + 1 > 0\), nous en déduisons :

\[(a+1)b \geq a + 1 > a\]

Par conséquent \(a \in [0,\ (a+1)b[\). Il en résulte que \(a\) peut être rangé entre deux multiples consécutifs de \(b\). Plus précisément, il existe \(q \in \mathbb{N}\) tel que :

\[a \in [bq,\ b(q+1)[\]

Posons \(r = a - bq\). Nous avons \(a = bq + r\). De plus, puisque \(bq \leq a < b(q+1)\), nous en déduisons :

\[0 \leq a - bq < b, \quad \text{soit} \quad 0 \leq r < b.\]

Ainsi il existe \(q \in \mathbb{N}\) et \(r \in \mathbb{N}\) tels que \(a = b \times q + r\) avec \(0 \leq r < b\). ✓

Unicité du couple \((q, r)\).

Supposons qu'il existe deux couples \((q, r)\) et \((q', r')\) d'entiers naturels tels que :

\[a = bq + r,\ 0 \leq r < b \qquad \text{et} \qquad a = bq' + r',\ 0 \leq r' < b.\]

Nous en déduisons que \(bq + r = bq' + r'\), soit \(b(q - q') = r' - r\).

Puisque \(0 \leq r < b\), nous avons \(-b < -r \leq 0\). En additionnant membre à membre les deux doubles inégalités :

\[\begin{cases} 0 \leq r' < b \\ -b < -r \leq 0 \end{cases}\]

nous obtenons \(-b < r' - r < b\), soit \(|r' - r| < b\).

Or \(b(q - q') = r' - r\), donc \(-b < b(q-q') < b\). Puisque \(b \neq 0\), on en déduit :

\[-1 < q - q' < 1\]

Or \(q - q'\) est un entier, donc \(q - q' = 0\), ce qui prouve que \(q = q'\) et par suite \(r = r'\). ✓

Complément — Algorithme de la division euclidienne (Jean Wacksmann)

Dans cet algorithme, \(\lfloor a/b \rfloor\) désigne la partie entière de \(a/b\), unique entier relatif satisfaisant :

\[\lfloor a/b \rfloor \leq \frac{a}{b} < \lfloor a/b \rfloor + 1\]
Pseudocode Python
\(q \leftarrow \lfloor a/b \rfloor\)
\(r \leftarrow a - bq\)
from math import *
a = int(input("a="))
b = int(input("b="))
q = floor(a/b)
r = a - q*b
print("q=", q)
print("r=", r)

Exemple : division euclidienne de 5673 par 14 → \(q = 405\), \(r = 3\).

Proposition 3

Soient \(a\) et \(b\) deux entiers naturels avec \(b\) non nul.

\[b \mid a \Longleftrightarrow \text{le reste de la division euclidienne de } a \text{ par } b \text{ est nul.}\]
Exemple — Parité (Jean Wacksmann)

La division euclidienne d'un entier naturel \(n\) par \(2\) donne \(0\) ou \(1\) pour reste, ce qui permet d'obtenir par disjonction :

Exercice 4

Montrer que tout entier \(n\) non divisible par \(5\) a un carré de la forme \(5p+1\) ou \(5p-1\).

Exercice 5

Le 1er mai 2025 tombait un jeudi. Quel jour tombe le 1er mai 2026 ?


I.3 Nombres premiers

Définition 2 — Nombres premiers

Un entier naturel est dit premier lorsqu'il admet exactement deux diviseurs : \(1\) et lui-même. On note \(\mathbb{P}\) l'ensemble des nombres premiers.

Exemples
Proposition — Tout entier \(n > 1\) admet au moins un diviseur premier

Démonstration (Jean Wacksmann)

Si \(n\) est premier, alors \(n\) admet un diviseur premier : lui-même.

Si \(n\) n'est pas premier, alors \(n\) admet d'autres diviseurs que \(1\) et \(n\). Considérons le plus petit diviseur \(p\) de \(n\) distinct de \(1\) et de \(n\). Supposons par l'absurde que \(p\) est non premier.

Dans ce cas, \(p\) admet un diviseur \(d\) tel que \(1 < d < p\) et \(d \mid p\). Mais nous savons que \(p \mid n\). Par transitivité, \(d \mid p\) et \(p \mid n\) implique \(d \mid n\), avec \(1 < d < p\).

Ceci est contradictoire avec \(p\) qui est le plus petit diviseur de \(n\). Par l'absurde, \(p\) est premier. ✓

Si \(p\) est le plus petit diviseur de \(n\), distinct de \(1\) et \(n\), alors \(p\) est premier.
Théorème 2 — Critère d'arrêt

Démonstration du critère \(p^2 \leq n\) (Jean Wacksmann)

Puisque \(n > 1\) n'est pas premier, il admet un diviseur premier \(p\) distinct de \(1\) et \(n\). Désignons par \(p\) le plus petit de ces diviseurs. Il existe un entier \(d\) tel que \(n = p \times d\).

D'après la proposition précédente, \(p\) est premier, donc \(p \geq 2\). Montrons que \(d \geq 2\) : si \(d = 0\) alors \(n = 0\), contredisant \(n \geq 2\) ; si \(d = 1\) alors \(n = p\), impossible car \(p\) est distinct de \(n\). Donc \(d \geq 2\).

Ainsi \(2 \leq p \leq d\). En multipliant par \(p > 0\) : \(p^2 \leq p \times d = n\), donc \(p \leq \sqrt{n}\). ✓

🔴 Fil rouge — Application sur 123

On a \(\sqrt{123} \approx 11{,}1\). On teste les premiers \(\leq 11\) : 2, 3, 5, 7, 11.

Conclusion : \(123 = 3 \times 41\) est la décomposition primaire. Voir aussi D(123) et Théorème fondamental.

La forme contraposée de cette proposition donne le test de primalité :

Soit \(n\) un entier naturel tel que \(n \geq 2\).
Si \(n\) n'admet aucun diviseur premier \(p\) tel que \(p^2 \leq n\), alors \(n\) est premier.
Algorithme — Test de primalité (Jean Wacksmann)
Pseudocode Python
\(d\) prend la valeur 3
Tant Que \(d^2 \leq N\) et \(d \nmid N\)
   \(d \leftarrow d + 2\)
Fin Tant Que
Si \(d^2 > N\) et \(N > 1\)
   Afficher "\(N\) est premier"
Sinon
   Afficher "\(N\) non premier"
   Afficher "\(d\) est le plus petit diviseur"
Fin de Si
from math import *
n = int(input("n="))
d = 3
while d**2 <= n and n%d != 0:
    d = d + 2
if d*d > n and n > 1:
    print("n=", n, "est premier")
else:
    print("n=", n, "non premier")
    print("d=", d, "est le plus petit diviseur")

Exemples numériques :

La ligne "\(d \leftarrow d + 2\)" précise que ce programme ne teste que des nombres impairs à partir de \(d = 3\). En effet tout nombre premier strictement supérieur à \(2\) est impair. Cette incrémentation de deux unités permet de rendre plus rapide l'exécution de l'algorithme.

Méthode — Factoriser un entier (Jean Wacksmann)

On divise l'entier à factoriser par son plus petit diviseur premier, puis on réitère le processus avec le quotient obtenu, jusqu'à l'obtention d'un quotient égal à \(1\).

Exemple : factoriser 4116

ResteDiviseur premier
41162
20582
10293
3437
497
77
1

On obtient : \(4116 = 2^2 \times 3 \times 7^3\).

Algorithme de décomposition en facteurs premiers (Jean Wacksmann)

Pseudocode Python
\(d\) prend la valeur 2
Tant Que \(N \neq 1\)
   Tant Que \(d\) divise \(N\)
      Afficher \(d\)
      \(N\) prend la valeur \(N/d\)
   Fin Tant Que
   \(d\) prend la valeur \(d + 1\)
Fin Tant Que
from math import *
n = int(input("n="))
d = 2
L = []
while n != 1:
    while n % d == 0:
        n = n / d
        L.append(d)
    d = d + 1
print(L)

Exemples numériques :

Exemple — Applications du théorème de factorisation (Jean Wacksmann)

Soient \(a = 4116\) et \(b = 5632\). On a :

\[a = 4116 = 2^2 \times 3 \times 7^3\] \[b = 5632 = 2^9 \times 11\]

Simplification de \(\sqrt{a}\) et \(\sqrt{b}\) :

\[\sqrt{a} = \sqrt{2^2 \times 3 \times 7^3} = 14\sqrt{21}\] \[\sqrt{b} = \sqrt{2^9 \times 11} = 2^4\sqrt{2 \times 11} = 16\sqrt{22}\]

Calcul du pgcd : on prend les facteurs communs avec le plus petit exposant :

\[\text{pgcd}(a, b) = 2^2 = 4\]

Fraction irréductible :

\[\frac{a}{b} = \frac{1029 \times 4}{1408 \times 4} = \frac{1029}{1408}\]

\(a\) est-il un carré parfait ? Non, car dans la décomposition de \(a = 2^2 \times 3^1 \times 7^3\), les exposants de \(3\) et \(7\) sont impairs.

Plus petit carré multiple de \(b\) : il faut rendre tous les exposants pairs dans \(b = 2^9 \times 11\). On multiplie par \(2 \times 11\) :

\[22b = 2 \times 11 \times 2^9 \times 11 = 2^{10} \times 11^2 = (2^5 \times 11)^2 = 352^2\]

I.4 Entiers premiers entre eux

Complément — Caractérisation du pgcd : forme réduite (Jean Wacksmann)

Ce complément apporte une caractérisation équivalente du pgcd très utile en pratique : elle permet d'écrire a et b sous forme réduite da' et db'.

Proposition. Soient \(a, b \in \mathbb{Z}^*\) et \(d \in \mathbb{N}^*\). Les deux propositions suivantes sont équivalentes :

Démonstration.

\((i) \Rightarrow (ii)\) : si \(d = \text{pgcd}(a,b)\), il existe \(a', b' \in \mathbb{Z}^*\) tels que \(a = da'\) et \(b = db'\). En appliquant la propriété multiplicative avec \(d \geq 1\) : \(d = \text{pgcd}(a,b) = \text{pgcd}(da',db') = d \times \text{pgcd}(a',b')\), donc \(\text{pgcd}(a',b') = 1\). ✓

\((ii) \Rightarrow (i)\) : en supposant (ii), \(\text{pgcd}(a,b) = \text{pgcd}(da',db') = d \times \text{pgcd}(a',b') = d \times 1 = d\). ✓

Exemple — Résolution dans \(\mathbb{N}^2\) : Trouver \((x,y) \in \mathbb{N}^2\) tel que \(x + y = 144\) et \(\text{pgcd}(x,y) = 18\).

On pose \(x = 18x'\) et \(y = 18y'\) avec \(\text{pgcd}(x',y') = 1\). Le système devient :

\[18(x' + y') = 144 \Rightarrow x' + y' = 8, \quad \text{pgcd}(x',y') = 1\]

Les couples \((x',y') \in \mathbb{N}^2\) premiers entre eux vérifiant \(x'+y'=8\) sont : \((1,7), (3,5), (5,3), (7,1)\).

Donc \(S = \{(18,126),\ (54,90),\ (90,54),\ (126,18)\}\).

Définition 3 — Premiers entre eux (Jean Wacksmann)

Deux entiers naturels non nuls \(n\) et \(p\) sont premiers entre eux si et seulement si leur seul diviseur commun est \(1\).

En d'autres termes :

Remarques
Proposition — Nombre premier et multiple (Jean Wacksmann)

Si \(p\) est un nombre premier et \(n\) un entier naturel non nul et non multiple de \(p\), alors \(n\) et \(p\) sont premiers entre eux.

Démonstration. Puisque \(p\) est premier, \(\mathcal{D}(p) = \{1, p\}\). De plus, \(p\) ne divise pas \(n\) donc \(p \notin \mathcal{D}(n)\). Ceci justifie que \(\mathcal{D}(n) \cap \mathcal{D}(p) = \{1\}\). ✓

Exemple — Fraction irréductible (Jean Wacksmann)

Pour tout entier naturel \(n\), considérons la fraction \(\dfrac{2n+3}{2n+1}\).

Le programme Python suivant calcule \(\text{pgcd}(2n+3, 2n+1)\) pour les \(N+1\) premières valeurs de \(n\) :

from math import *

def pgcd(a, b):
    while b != 0:
        r = a % b
        a = b
        b = r
    return a

def fracirrec(n):
    L = []
    for k in range(0, n):
        d = pgcd(2*k+3, 2*k+1)
        L.append(d)
    return L

En l'exécutant pour \(N = 20\) :

fracirrec(20)
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

Ce résultat nous autorise à conjecturer que cette fraction est irréductible quel que soit \(n\). La preuve sera donnée en exercice corrigé.

Exemple — Montrer que 109 est premier

On a \(10 < \sqrt{109} < 11\). On teste les premiers \(< 11\) : \(2, 3, 5, 7\).

Conclusion : \(109\) est premier.

Théorème 3

L'ensemble des nombres premiers est infini.

Démonstration (Jean Wacksmann) — par l'absurde

Supposons que l'ensemble \(\mathbb{P}\) des nombres premiers est fini. Posons \(\mathbb{P} = \{2, 3, 5, \ldots, p\}\) avec \(2 < 3 < 5 < \cdots < p\). Considérons l'entier naturel :

\[N = (2 \times 3 \times 5 \times \cdots \times p) + 1\]

Puisque \(N > 1\), en appliquant la proposition précédente, \(N\) admet un diviseur premier \(p'\).

Or l'égalité \(N = (2 \times 3 \times \cdots \times p) + 1\) signifie que la division euclidienne de \(N\) par n'importe quel premier entre \(2\) et \(p\) donne \(1\) pour reste. Par conséquent, aucun élément de \(\mathbb{P}\) n'est diviseur de \(N\).

Il en résulte que \(p' \notin \mathbb{P}\), c'est-à-dire \(p' > p\). C'est contradictoire avec \(\mathbb{P}\) fini et majoré par \(p\). Par l'absurde, l'ensemble des nombres premiers est infini. ✓

Crible d'Ératosthène

Pour dresser la liste des premiers entre \(2\) et \(100\) : écrire tous les entiers, puis éliminer successivement les multiples de \(2\), de \(3\), etc.

2345678910
111213141516171819
202122232425262728
293031323334353637
383940414243444546
474849505152535455
565758596061626364
656667686970717273
747576777879808182
838485868788899091
9293949596979899100
Algorithme Python — Crible d'Ératosthène
def eratosthene(n):
    L = [i for i in range(2, n+1)]
    P = []
    while len(L) != 0:
        P.append(L[0])
        i = L[0]
        for k in L:
            if k % i == 0:
                del(L[L.index(k)])
    return P
Théorème 4 — Théorème fondamental de l'arithmétique

Tout entier \(n \geq 2\) admet une décomposition en facteurs premiers unique (c'est-à-dire qu'on peut l'écrire comme une multiplication de nombres premiers), à l'ordre des facteurs près :

\[n = p_1^{\alpha_1} p_2^{\alpha_2} \cdots p_k^{\alpha_k}, \quad p_i \in \mathbb{P} \text{ distincts},\ \alpha_i \in \mathbb{N}^*.\]

On appelle cette écriture la décomposition primaire de \(n\). "À l'ordre près" signifie que \(12 = 2^2 \times 3\) et \(12 = 3 \times 2^2\) sont la même décomposition — on adopte par convention l'écriture canonique avec les premiers dans l'ordre croissant.

Remarque 1 — "À l'ordre des facteurs près"

La multiplication étant commutative, \(2 \times 2 \times 3\), \(2 \times 3 \times 2\) et \(3 \times 2 \times 2\) sont trois écritures du même produit. Le théorème dit qu'une fois les facteurs écrits dans l'ordre croissant avec leurs exposants, l'écriture est unique. Par convention on écrit toujours les premiers dans l'ordre croissant, ce qui donne une écriture canonique : \(12 = 2^2 \times 3\).

Vocabulaire — Forme canonique : une forme canonique est la forme de référence unique adoptée par convention parmi toutes les façons d'écrire la même chose. Elle élimine toute ambiguïté. Exemples :

Remarque 2 — Importance de l'unicité

C'est l'unicité qui rend ce théorème puissant. Elle permet d'identifier les exposants terme à terme lorsqu'on compare deux décompositions — c'est ce qui justifie par exemple le Corollaire 1 (\(a \mid b \Leftrightarrow \alpha_p \leq \beta_p\)).

Remarque 3 — Pourquoi la démonstration est hors-programme

La démonstration fait appel à des prérequis avancés :

La chaîne logique est donc : Bézout → Lemme d'Euclide fort → Unicité de la décomposition.

Le résultat est à connaître et à utiliser, mais sa démonstration complète sera accessible après l'étude de Bézout.

Exemple — Décomposition de 16758
ResteDiviseur premier
167582
83793
27933
9317
1337
1919
1

On obtient : \(16758 = 2 \times 3^2 \times 7^2 \times 19\).

Corollaire 1

Soient \(a = \prod_{p \in \mathbb{P}} p^{\alpha_p}\) et \(b = \prod_{p \in \mathbb{P}} p^{\beta_p}\). Alors :

\[a \mid b \Longleftrightarrow \forall p \in \mathbb{P},\ \alpha_p \leq \beta_p.\]
🔴 Fil rouge — Corollaire 1 appliqué à 123

\(123 = 3^1 \times 41^1\). Pour tout entier \(a\), \(a \mid 123 \Longleftrightarrow\) l'exposant de 3 dans \(a\) est \(\leq 1\) ET l'exposant de 41 dans \(a\) est \(\leq 1\).

Diviseurs possibles : \(3^0 \times 41^0 = 1\), \(3^1 \times 41^0 = 3\), \(3^0 \times 41^1 = 41\), \(3^1 \times 41^1 = 123\).

Soit \(\mathcal{D}(123) = \{1, 3, 41, 123\}\). Voir D(123).

Corollaire 2 — Nombre de diviseurs

Si \(n = p_1^{\alpha_1} \cdots p_k^{\alpha_k}\), alors \(n\) admet \(\displaystyle\prod_{i=1}^k (1+\alpha_i)\) diviseurs.

🔴 Fil rouge — Corollaire 2 appliqué à 123

\(123 = 3^1 \times 41^1\). Nombre de diviseurs : \((1+1)(1+1) = 4\).

On retrouve bien \(\mathcal{D}(123) = \{1, 3, 41, 123\}\) — 4 diviseurs. Voir D(123).

Exercice 6

Soit \(n \in \mathbb{N}\), \(n \geq 2\). Montrer qu'il n'existe aucun nombre premier entre \(n! + 2\) et \(n! + n\).

Exercice 7

Trouver le nombre de diviseurs de \(120\) et les déterminer tous.

II — PGCD et PPCM

II.1 PGCD

🏭 Contexte historique (Jean Wacksmann)

Le concept de plus grand commun diviseur de deux entiers apparaît dès l'Antiquité dans les Éléments d'Euclide (environ 300 avant notre ère). Euclide y décrit le premier algorithme connu, utilisant une méthode itérative par soustraction, remplacée de nos jours par des divisions euclidiennes successives.

En s'appuyant sur cet algorithme, on établit deux grands résultats :

Ces outils permettent d'aborder des questions de cryptographie : chiffrement affine, chiffrement de Hill (1929), système RSA (1978) — autant d'applications qui reposent sur la difficulté de factoriser de grands entiers.

Exemple introductif — Motivation de la définition (Jean Wacksmann)

Dans \(\mathbb{Z}\), calculons les diviseurs communs à 63 et 45 :

\[\mathcal{D}(63) = \{-63, -21, -9, -7, -3, -1, 1, 3, 7, 9, 21, 63\}\] \[\mathcal{D}(45) = \{-45, -15, -9, -5, -3, -1, 1, 3, 5, 9, 15, 45\}\] \[\mathcal{D}(63) \cap \mathcal{D}(45) = \{-9, -3, -1, 1, 3, 9\}\]

On observe que 9 est le plus grand élément de \(\mathcal{D}(63) \cap \mathcal{D}(45) \cap \mathbb{N}\) : c'est le « plus grand commun diviseur » de 63 et 45, noté \(\text{pgcd}(63, 45) = 9\).

Cet exemple motive la définition formelle ci-dessous.

Complément — Trois remarques préalables (Jean Wacksmann)
Définition 4 — PGCD

Soient \(a\) et \(b\) deux entiers naturels non nuls. On appelle PGCD de \(a\) et \(b\), noté \(\text{pgcd}(a;b)\) ou \(a \wedge b\), le plus grand diviseur commun à \(a\) et \(b\).

Remarques
Exemples
Complément — Démonstration de l'existence du pgcd (Jean Wacksmann)

Soient \(a, b \in \mathbb{N}^*\). On applique l'axiome du plus grand élément à \(\mathcal{D}(a) \cap \mathcal{D}(b) \subset \mathbb{Z}\).

Par conséquent \(\mathcal{D}(a) \cap \mathcal{D}(b)\) est majoré par \(\min(a,b)\) et admet donc un plus grand élément : c'est le pgcd. ✓

Proposition 4

Démonstration. Soit \(a \in \mathbb{N}^*\) et \(b \in \mathbb{N}^*\).

🔴 Fil rouge — Exemple avec \(n^3 - n\) (Jean Wacksmann)

Soit \(n \geq 2\). Puisque \(n^3 - n = n(n+1)(n-1)\), on obtient immédiatement :

\[n \mid n^3-n, \quad n+1 \mid n^3-n, \quad n-1 \mid n^3-n\]

En appliquant la Proposition 4 (si \(b \mid a\) alors \(\text{pgcd}(a,b)=b\)) :

\[\text{pgcd}(n^3-n,\ n) = n\] \[\text{pgcd}(n^3-n,\ n+1) = n+1\] \[\text{pgcd}(n^3-n,\ n-1) = n-1\]

Application numérique : pour \(n=5\), \(n^3-n = 120\) :

\[\text{pgcd}(120, 5) = 5, \quad \text{pgcd}(120, 6) = 6, \quad \text{pgcd}(120, 4) = 4\]

Vérification : \(120 = 5 \times 24 = 6 \times 20 = 4 \times 30\). ✓

Théorème 5 — Fondamental

Soient \(a\) et \(b\) deux entiers non nuls et \((q;r)\) tels que \(a = bq + r\). Alors :

\[\text{pgcd}(a;b) = \text{pgcd}(b;r)\]

De manière équivalente : \(\mathcal{D}(a) \cap \mathcal{D}(b) = \mathcal{D}(b) \cap \mathcal{D}(r)\).

Complément — Démonstration du Théorème 5 (Jean Wacksmann)

Nous avons \(a = bq + r\) avec \(q \in \mathbb{N}\) et \(0 \leq r < b\).

Soit \(d\) un diviseur commun de \(a\) et \(b\) : \(d \mid a\) et \(d \mid b\). Il existe \(k\) et \(k'\) entiers naturels tels que \(a = kd\) et \(b = k'd\).

Il en résulte que :

\[r = a - bq = kd - (k'd)q = (k - k'q)d\]

Comme \(r \in \mathbb{N}\) et \(d \in \mathbb{N}^*\), nous avons \(k - k'q \in \mathbb{N}\). Nous en déduisons que \(d \mid r\), donc \(d\) est un diviseur commun de \(b\) et \(r\).

Ainsi tout diviseur commun de \(a\) et \(b\) est diviseur commun de \(b\) et \(r\). Le raisonnement est symétrique dans l'autre sens (en écrivant \(a = bq + r\)). Donc :

\[\mathcal{D}(a) \cap \mathcal{D}(b) = \mathcal{D}(b) \cap \mathcal{D}(r) \implies \text{pgcd}(a,b) = \text{pgcd}(b,r). \quad \checkmark\]

En particulier, si \(d = \text{pgcd}(a,b)\), alors \(d = \text{pgcd}(b,r)\).

Lemme d'Euclide (Jean Wacksmann)

Soient \(a, b \in \mathbb{N}^*\) et \(r\) le reste de la division euclidienne de \(a\) par \(b\) :

\[a = bq + r, \quad 0 \leq r < b\]

Alors : \(\mathcal{D}(a) \cap \mathcal{D}(b) = \mathcal{D}(b) \cap \mathcal{D}(r)\) et \(\text{pgcd}(a,b) = \text{pgcd}(b,r)\).

Démonstration. On procède par disjonction selon que \(r = 0\) ou \(r > 0\).

1er cas : \(r = 0\). On a \(a = bq\), donc \(b \mid a\). Par la Proposition 4 : \(\mathcal{D}(a) \cap \mathcal{D}(b) = \mathcal{D}(b) = \mathcal{D}(b) \cap \mathcal{D}(0)\) car \(\mathcal{D}(0) = \mathbb{Z}\). ✓

2e cas : \(r > 0\). On montre l'égalité par double inclusion.

\(\supset\) Soit \(d \in \mathcal{D}(b) \cap \mathcal{D}(r)\), alors \(d \mid b\) et \(d \mid r\). Par combinaison linéaire \(d \mid bq + r\), c'est-à-dire \(d \mid a\). Donc \(d \in \mathcal{D}(a) \cap \mathcal{D}(b)\).

\(\subset\) Soit \(d \in \mathcal{D}(a) \cap \mathcal{D}(b)\), alors \(d \mid a\) et \(d \mid b\). Par combinaison linéaire \(d \mid a - bq\), c'est-à-dire \(d \mid r\). Donc \(d \in \mathcal{D}(b) \cap \mathcal{D}(r)\).

Ces deux inclusions justifient \(\mathcal{D}(a) \cap \mathcal{D}(b) = \mathcal{D}(b) \cap \mathcal{D}(r)\), et par unicité du plus grand élément : \(\text{pgcd}(a,b) = \text{pgcd}(b,r)\). ✓

La contrainte \(0 < r < b\) n'intervient pas dans la preuve du second cas : la proposition reste vraie lorsque \(q\) et \(r > 0\) sont deux entiers naturels quelconques satisfaisant \(a = bq + r\). C'est la pierre angulaire de l'algorithme d'Euclide.

Exemples d'application du Lemme d'Euclide (Jean Wacksmann)

1er exemple : pgcd(230, 22) et pgcd(−230, 22)

\(230 = 22 \times 10 + 10\), donc \(\text{pgcd}(230, 22) = \text{pgcd}(22, 10)\).
\(22 = 10 \times 2 + 2\), donc \(\text{pgcd}(22, 10) = \text{pgcd}(10, 2)\).
Puisque \(2 \mid 10\) : \(\text{pgcd}(10, 2) = 2\).
Conclusion : \(\text{pgcd}(230, 22) = \text{pgcd}(22, 10) = \text{pgcd}(10, 2) = 2\).

Pour les négatifs : \(\text{pgcd}(-230, 22) = \text{pgcd}(|-230|, 22) = \text{pgcd}(230, 22) = 2\).

2e exemple : \(n\) et \(p\) premiers entre eux

Soient \(n, p \in \mathbb{N}^*\) tels que \(\text{pgcd}(n,p) = 1\). On applique le Lemme d'Euclide en cascade :

Le même raisonnement en cascade permet de traiter toute combinaison linéaire de \(n\) et \(p\).

Méthode — Montrer l'égalité de deux entiers positifs

Soient \(d\) et \(D\) deux entiers positifs (par exemple \(d = \text{pgcd}(a,b)\) et \(D = \text{pgcd}(b,r)\)). Pour montrer que \(d = D\), on peut :

La deuxième approche est souvent la plus naturelle en arithmétique, car on dispose de nombreux outils pour montrer qu'un entier en divise un autre.

Pourquoi pas \(d - D = 0\) ou \(d/D = 1\) ?

Ces deux tentatives échouent car elles supposent ce qu'on cherche à démontrer. Les approches par inégalités ou par divisibilité mutuelle sont efficaces précisément parce qu'elles décomposent le problème en deux étapes plus simples, chacune accessible avec les outils de l'arithmétique.

Outils disponibles pour montrer que \(d \mid D\) :

Complément — Propriété multiplicative du pgcd (Jean Wacksmann)

Ce complément apporte la démonstration de pgcd(ka,kb) = k×pgcd(a,b), avec corollaire pour les entiers relatifs et un exemple application.

Proposition. Soient \(a, b, k \in \mathbb{N}^*\). Alors \(\text{pgcd}(ka, kb) = k \times \text{pgcd}(a,b)\).

Démonstration. Posons \(d = \text{pgcd}(a,b)\) et \(d' = \text{pgcd}(ka,kb)\).

On conclut \(d' = kd\), c'est-à-dire \(\text{pgcd}(ka,kb) = k \times \text{pgcd}(a,b)\). ✓

Corollaire. Pour \(k \in \mathbb{Z}^*\) : \(\text{pgcd}(ka,kb) = |k| \times \text{pgcd}(a,b)\).

Démonstration. \(\text{pgcd}(ka,kb) = \text{pgcd}(|ka|,|kb|) = \text{pgcd}(|k||a|,|k||b|) = |k| \times \text{pgcd}(|a|,|b|) = |k| \times \text{pgcd}(a,b)\). ✓

Exemple. Soient \(n, p \in \mathbb{N}^*\). Calculons \(\text{pgcd}(np,\ n(2p+1))\).

En appliquant la propriété multiplicative : \(\text{pgcd}(np, n(2p+1)) = n \times \text{pgcd}(p, 2p+1)\).

Puisque \(2p+1 = 2 \times p + 1\), le lemme d'Euclide donne \(\text{pgcd}(p, 2p+1) = \text{pgcd}(2p+1, p) = \text{pgcd}(p,1) = 1\).

Ainsi \(p\) et \(2p+1\) sont premiers entre eux et : \[\text{pgcd}(np,\ n(2p+1)) = n\]

🔴 Fil rouge — PGCD avec 123

Calculons \(\text{pgcd}(123, 41)\) par l'algorithme d'Euclide :

\(123 = 41 \times 3 + 0\) → reste nul, donc \(\text{pgcd}(123, 41) = 41\).

Normal : puisque \(41 \mid 123\), on a \(\text{pgcd}(123, 41) = 41\). (Proposition 4 : si \(b \mid a\) alors \(\text{pgcd}(a,b) = b\).)

Calculons \(\text{pgcd}(123, 82)\) :

\(123 = 82 \times 1 + 41\) puis \(82 = 41 \times 2 + 0\) → \(\text{pgcd}(123, 82) = 41\).

Exercice 8

Soient \(a\) et \(b\) deux entiers naturels non nuls, \(x = 7a + 5b\) et \(y = 4a + 3b\). Montrer que \(\text{pgcd}(x;y) = \text{pgcd}(a;b)\).


II.2 Algorithme d'Euclide

Théorème 6 — Le PGCD est le dernier reste non nul

Soient \(a\) et \(b\) deux naturels non nuls tels que \(b \nmid a\). La suite des divisions euclidiennes :

\[\begin{array}{lll} a = bq_0 + r_0 & \text{avec} & b > r_0 > 0 \\ b = r_0 q_1 + r_1 & \text{avec} & r_0 > r_1 > 0 \\ \vdots & & \\ r_{n-2} = r_{n-1}q_n + r_n & \text{avec} & r_{n-1} > r_n > 0 \\ r_{n-1} = r_n q_{n+1} + 0 \end{array}\]

se termine, et \(\text{pgcd}(a;b) = r_n\) (le dernier reste non nul).

Complément — Démonstration de la convergence de l'algorithme d'Euclide (Jean Wacksmann)

Ce complément apporte la preuve que l'algorithme se termine toujours, ainsi que le corollaire fondamental : tout diviseur commun divise le pgcd.

Soient \(a, b \in \mathbb{N}^*\). La division euclidienne de \(a\) par \(b\) donne \(a = bq_1 + r_1\) avec \(0 \leq r_1 < b\).

Étape 1. Si \(r_1 = 0\) alors \(b \mid a\) et \(\text{pgcd}(a,b) = b\). Sinon le lemme d'Euclide donne \(\text{pgcd}(a,b) = \text{pgcd}(b, r_1)\).

Étape 2. On divise \(b\) par \(r_1\) : \(b = r_1 q_2 + r_2\) avec \(0 \leq r_2 < r_1\). Si \(r_2 = 0\) alors \(\text{pgcd}(a,b) = \text{pgcd}(b,r_1) = r_1\). Sinon \(\text{pgcd}(a,b) = \text{pgcd}(r_1, r_2)\).

Étape 3. On construit ainsi une suite d'entiers naturels \((r_n)_{n \in \mathbb{N}}\) de premier terme \(r_0 = b\), strictement décroissante :

\[b > r_1 > r_2 > \cdots > r_k > r_{k+1} = 0\]

Cette suite est minorée par 0 et strictement décroissante, elle atteint donc 0 en un rang fini \(k\). Par application itérée du lemme d'Euclide :

\[\text{pgcd}(a,b) = \text{pgcd}(b,r_1) = \text{pgcd}(r_1,r_2) = \cdots = \text{pgcd}(r_k, 0) = r_k\]

Le pgcd est donc le dernier reste non nul. ✓

Complément — Corollaire : tout diviseur commun divise le pgcd (Jean Wacksmann)

Ce corollaire est la propriété la plus utile du pgcd dans les démonstrations.

Soient \(a\) et \(b\) deux entiers naturels non nuls. Tout diviseur commun \(d\) à \(a\) et \(b\) vérifie \(d \mid \text{pgcd}(a,b)\).

Démonstration. Avec les notations de la démonstration précédente, si \(d = \text{pgcd}(a,b)\) alors :

\[\mathcal{D}(a) \cap \mathcal{D}(b) = \mathcal{D}(b) \cap \mathcal{D}(r_1) = \cdots = \mathcal{D}(r_k) \cap \mathcal{D}(0) = \mathcal{D}(d)\]

Ainsi tout diviseur commun de \(a\) et \(b\) est dans \(\mathcal{D}(d)\), c'est-à-dire divise \(d\). ✓

Algorithme d'Euclide — Pseudocode et Python (Jean Wacksmann)

Le principe est basé sur le Théorème 5 : \(\text{pgcd}(a,b) = \text{pgcd}(b,r)\). On itère jusqu'à ce que le reste soit nul.

Pseudocode Python
Tant Que \(b \neq 0\)
   \(q \leftarrow \lfloor a/b \rfloor\)
   \(r \leftarrow a - bq\)
   \(a \leftarrow b\)
   \(b \leftarrow r\)
Fin Tant Que
Afficher \(a\)
from math import *
a = int(input("a="))
b = int(input("b="))
while b != 0:
    r = a % b
    a = b
    b = r
print("pgcd(a,b)=", a)

Exemples numériques :

Version synthétique — fonction Python (Jean Wacksmann) :

from math import *
def pgcd(a, b):
    while b != 0:
        r = a % b
        a = b
        b = r
    return a

Exemple : pgcd(15330, 350)70.

Exemple — \(\text{pgcd}(4539 ; 1958)\)
\[\begin{aligned} 4539 &= 1958 \times 2 + 623 \\ 1958 &= 623 \times 3 + 89 \\ 623 &= 89 \times 7 + 0 \end{aligned}\]

Conclusion : \(\text{pgcd}(4539 ; 1958) = 89\).

Théorème 7 — Diviseurs communs et PGCD

Les diviseurs communs de \(a\) et \(b\) sont exactement les diviseurs de \(\text{pgcd}(a;b)\) :

\[d \mid \text{pgcd}(a;b) \Longleftrightarrow \begin{cases} d \mid a \\ d \mid b \end{cases}\]

De manière équivalente : \(\mathcal{D}(a \wedge b) = \mathcal{D}(a) \cap \mathcal{D}(b)\).

Proposition 5

Pour tout entier naturel \(k\) non nul : \(\text{pgcd}(ka ; kb) = k \times \text{pgcd}(a;b)\).

Théorème de Bézout

Soient \(a\) et \(b\) deux entiers relatifs non nuls. Alors :

\[\text{pgcd}(a,b) = 1 \iff \exists\, u, v \in \mathbb{Z},\quad au + bv = 1\]

Plus généralement (caractérisation de Bézout du pgcd) :

\[d = \text{pgcd}(a,b) \iff \left( d \mid a \text{ et } d \mid b \text{ et } \exists\, u, v \in \mathbb{Z},\ au + bv = d \right)\]
Complément — Démonstration et algorithme de Bézout (Jean Wacksmann)

Ce complément apporte la démonstration complète du théorème de Bézout, les remarques sur la non-unicité des coefficients, l'algorithme Python pour les calculer, et un exemple numérique. Il apporte aussi deux méthodes (ascendante et descendante) pour trouver explicitement u et v.

Démonstration de pgcd(a,b)=1 ⟹ ∃u,v : au+bv=1

On considère \(E = \{au + bv \in \mathbb{N}^* \mid u \in \mathbb{Z},\ v \in \mathbb{Z}\}\).

\(E\) est non vide : \(a = a \times 1 + b \times 0 \in E\). \(E\) étant une partie non vide de \(\mathbb{N}\), elle admet un plus petit élément \(m \in \mathbb{N}^*\), associé à un couple \((u_0, v_0)\) tel que \(m = au_0 + bv_0\).

La division euclidienne de \(a\) par \(m\) donne \(a = mq + r\) avec \(0 \leq r < m\). Si \(r > 0\) alors \(r = a - mq = a(1-u_0 q) + b(-v_0 q) \in E\) avec \(r < m\) : contradiction avec la minimalité de \(m\). Donc \(r = 0\), soit \(m \mid a\). De même \(m \mid b\). Donc \(m \mid \text{pgcd}(a,b) = 1\), d'où \(m = 1\). ✓

Remarques

Algorithme Python — Coefficients de Bézout

def pgcd(a, b):
    while b != 0:
        r = a % b
        a = b
        b = r
    return a

def bezout(a, b):
    if pgcd(a, b) != 1:
        return "non_premiers"
    else:
        u = 1
        c = a
        while a % b != 1:
            u = u * c
            a = u * c
            v = int((1 - a) / b)
        return u, v

Exemple : \(a = 2022\), \(b = 557\) (premiers entre eux) → \(u = 73\), \(v = -265\).

Vérification : \(2022 \times 73 + 557 \times (-265) = 147606 - 147605 = 1\). ✓

Méthode ascendante — pgcd(44064, 2975) = 17

On effectue l'algorithme d'Euclide et on numérote les lignes :

LigneDivision euclidienne
[5]\(44064 = 2975 \times 14 + 2414\)
[4]\(2975 = 2414 \times 1 + 561\)
[3]\(2414 = 561 \times 4 + 170\)
[2]\(561 = 170 \times 3 + 51\)
[1]\(170 = 51 \times 3 + 17\)
\(51 = 17 \times 2 + 0\)

Donc \(\text{pgcd}(44064, 2975) = 17\). On remonte les lignes :

\([1] \Rightarrow 17 = 170 - 51 \times 3\)

\([2] \Rightarrow 51 = 561 - 170 \times 3\), donc \(17 = 10 \times 170 - 3 \times 561\)

\([3] \Rightarrow 170 = 2414 - 561 \times 4\), donc \(17 = 10 \times 2414 - 43 \times 561\)

\([4] \Rightarrow 561 = 2975 - 2414 \times 1\), donc \(17 = 53 \times 2414 - 43 \times 2975\)

\([5] \Rightarrow 2414 = 44064 - 2975 \times 14\), donc \(17 = 53 \times 44064 + (-785) \times 2975\)

Couple solution : \((u,v) = (53, -785)\) — vérification : \(44064 \times 53 + 2975 \times (-785) = 2335392 - 2335375 = 17\). ✓

Méthode descendante (calcul littéral, en posant \(a = 44064\) et \(b = 2975\)) :

\([1] \Rightarrow 2414 = a - 14b\)

\([2] \Rightarrow 561 = b - 2414 = b - (a-14b) = 15b - a\)

\([3] \Rightarrow 170 = 2414 - 561 \times 4 = (a-14b) - 4(15b-a) = 5a - 74b\)

\([4] \Rightarrow 51 = 561 - 170 \times 3 = (15b-a) - 3(5a-74b) = -16a + 237b\)

\([5] \Rightarrow 17 = 170 - 51 \times 3 = (5a-74b) - 3(-16a+237b) = 53a - 785b = a \times \boxed{53} + b \times \boxed{-785}\)

On retrouve le même couple \((u,v) = (53, -785)\). La méthode descendante est plus systématique car elle permet d'élaborer un algorithme général.

Théorème de Gauss

Soient \(a\), \(b\) et \(c\) trois entiers relatifs non nuls. Si \(a\) et \(b\) sont premiers entre eux et si \(a \mid bc\), alors \(a \mid c\).

Complément — Démonstration du théorème de Gauss et corollaires (Jean Wacksmann)

Ce complément apporte la démonstration complète via Bézout, ainsi que deux corollaires importants et un exemple d'application.

Démonstration. Puisque \(\text{pgcd}(a,b) = 1\), le théorème de Bézout donne \(au + bv = 1\) pour certains \(u, v \in \mathbb{Z}\). En multipliant par \(c\) :

\[acu + bcv = c\]

Puisque \(a \mid acu\) et \(a \mid bc\) (donc \(a \mid bcv\)), par combinaison linéaire \(a \mid c\). ✓

Corollaire 1 — Premiers entre eux et multiplication. Si \(a\) est premier avec \(b\) et avec \(c\), alors \(a\) est premier avec \(b \times c\).

Démonstration. Bézout donne \(au + bv = 1\) et \(au' + cv' = 1\). En multipliant : \((au+bv)(au'+cv') = 1\), soit \(a(auu' + cuv' + bvu') + bc(vv') = 1\). En posant \(u'' = auu'+cuv'+bvu'\) et \(v'' = vv'\) : \(au'' + (bc)v'' = 1\), donc \(\text{pgcd}(a, bc) = 1\). ✓

Corollaire 2 — Somme et produit. Soient \(a\) et \(b\) premiers entre eux. Alors \(a+b\) est premier avec \(a\), avec \(b\), et avec \(ab\).

Démonstration. Puisque \(a \wedge b = 1\), il existe \((u,v) \in \mathbb{Z}^2\) tel que \(au + bv = 1\).

\((a+b) \wedge a = 1\) : \(au+bv=1 \Leftrightarrow (a+b)v + a(u-v) = 1\). ✓

\((a+b) \wedge b = 1\) : \(au+bv=1 \Leftrightarrow (a+b)u + b(v-u) = 1\). ✓

\((a+b) \wedge ab = 1\) : par le Corollaire 1 ci-dessus. ✓

Remarques sur le théorème de Gauss (Jean Wacksmann)
Exemple — Points entiers sur une droite (Jean Wacksmann)

Quels sont les points à coordonnées entières sur la droite \((d)\) d'équation \(4x - 3y + 9 = 0\) ?

Soit \(M(x,y)\) avec \((x,y) \in \mathbb{Z}^2\). L'équation \(4x - 3y + 9 = 0\) est équivalente à \(4x = 3(y-3)\), notée [1].

Puisque \(y - 3 \in \mathbb{Z}\), on en déduit \(3 \mid 4x\). Comme 3 et 4 sont premiers entre eux, le théorème de Gauss donne \(3 \mid x\), soit \(x = 3k\) avec \(k \in \mathbb{Z}\).

En reportant dans [1] : \(4 \times 3k = 3(y-3)\), soit \(y - 3 = 4k\), donc \(y = 4k + 3\).

Réciproquement, tout point \(M(3k, 4k+3)\) satisfait \(4 \times 3k - 3(4k+3) + 9 = 12k - 12k - 9 + 9 = 0\).

Les points à coordonnées entières sur \((d)\) sont exactement les points \(M(3k,\ 4k+3)\) avec \(k \in \mathbb{Z}\).

Corollaire — Si a|n et b|n et pgcd(a,b)=1 alors ab|n (Jean Wacksmann)

Soient \(a\), \(b\) et \(n\) trois entiers relatifs non nuls. Si \(a \mid n\) et \(b \mid n\) et \(a \wedge b = 1\), alors \(a \times b \mid n\).

Démonstration. Puisque \(a \mid n\), il existe \(k \in \mathbb{Z}\) tel que \(n = ka\). Puisque \(b \mid n = ka\) et \(a \wedge b = 1\), le théorème de Gauss donne \(b \mid k\). Il existe donc \(q \in \mathbb{Z}\) tel que \(k = bq\), d'où \(n = (bq)a = ab \times q\). Donc \(ab \mid n\). ✓

Ce corollaire est faux si \(a\) et \(b\) ne sont pas premiers entre eux. Exemple : \(a=3\), \(b=6\), \(n=60\). On a \(3 \mid 60\) et \(6 \mid 60\) mais \(18 \nmid 60\).

🔴 Fil rouge — \(A_n = n(n+1)(n^3-1)\) divisible par 6 (Jean Wacksmann)

Pour tout entier naturel \(n\), posons \(A_n = n(n+1)(n^3-1)\). On a :

\[A_n = n(n+1)(n-1)(n^2+n+1)\]

Application numérique : \(n=4\) → \(A_4 = 4 \times 5 \times 63 = 1260 = 6 \times 210\). ✓

Proposition 6 — Via décomposition primaire

Si \(a = \prod p^{\alpha_p}\) et \(b = \prod p^{\beta_p}\), alors :

\[a \wedge b = \prod_{p \in \mathbb{P}} p^{\min(\alpha_p, \beta_p)}\]
Exemples
Exercice 9

Calculer \(\text{pgcd}(162 ; 207)\).

Exercice 10

Déterminer le PGCD de \(1960\) et \(34300\).


II.3 Congruence ax ≡ b [n] (Jean Wacksmann)

Proposition — Résolution de ax ≡ b [n]

Soient \(a\) et \(n\) deux entiers relatifs non nuls premiers entre eux, et \(b \in \mathbb{Z}\). L'équation \((E) : ax \equiv b[n]\) admet au moins une solution \(x_0 \in \mathbb{Z}\). L'ensemble des solutions est :

\[S_{(E)} = \{x \in \mathbb{Z} \ / \ x \equiv x_0[n]\}\]

Démonstration. Puisque \(a\) et \(n\) sont premiers entre eux, Bézout donne \(au + nv = 1\) pour certains \(u, v \in \mathbb{Z}\). En multipliant par \(b\) : \((au)b + (nv)b = b\), soit \(a(ub) = b + n(-vb)\). Donc \(a(ub) \equiv b[n]\), ce qui prouve que \(x_0 = ub\) est une solution particulière.

Soit \(x\) une solution quelconque. Alors \(ax \equiv b[n]\) et \(ax_0 \equiv b[n]\), d'où par soustraction \(a(x-x_0) \equiv 0[n]\), c'est-à-dire \(n \mid a(x-x_0)\). Comme \(a \wedge n = 1\), le théorème de Gauss donne \(n \mid x - x_0\), soit \(x \equiv x_0[n]\). ✓

Exemple — Résolution de 3x ≡ 1 [5]

On observe que \(\text{pgcd}(3,5) = 1\) et que \(x_0 = 2\) est une solution particulière car \(3 \times 2 = 6 \equiv 1[5]\). L'ensemble des solutions est :

\[S = \{x \in \mathbb{Z} \ / \ x \equiv 2[5]\}\]

Interprétation : modulo 5, l'entier 3 est inversible et admet pour inverse 2.

II.4 Équation diophantienne ax + by = c (Jean Wacksmann)

Complément — Résolution complète de ax + by = c (Jean Wacksmann)

Ce complément apporte la résolution exhaustive en 5 cas de l'équation diophantienne ax + by = c, avec démonstrations, algorithme Python et exemple numérique complet.

Proposition. Soient \(S\) l'ensemble des solutions dans \(\mathbb{Z}^2\) de \(ax + by = c\), avec \(a, b, c \in \mathbb{Z}^*\) et \(d = \text{pgcd}(a,b)\). Alors \(S \neq \emptyset \iff d \mid c\).

Lorsque des solutions existent, elles sont initialisées par une solution particulière \((x_0, y_0)\), obtenue soit directement soit via les algorithmes de Bézout.

1er cas : a et b premiers entre eux et c = 0.

L'équation devient \(ax = b(-y)\). Puisque \(b \mid ax\) et \(a \wedge b = 1\), Gauss donne \(b \mid x\), soit \(x = bk\) avec \(k \in \mathbb{Z}\), puis \(y = -ak\). Ensemble des solutions : \(S_{(E)} = \{(bk, -ak) \ / \ k \in \mathbb{Z}\}\).

2e cas : a et b premiers entre eux et c = 1.

Bézout assure l'existence d'une solution particulière \((x_0, y_0)\). Si \((x,y)\) est une solution quelconque, on soustrait les deux équations : \(a(x-x_0) = b(y_0-y)\). Puisque \(b \mid a(x-x_0)\) et \(a \wedge b = 1\), Gauss donne \(b \mid x-x_0\), soit \(x = x_0 + bk\). On obtient \(y = y_0 - ak\). Ensemble des solutions : \(S_{(E)} = \{(x_0 + bk,\ y_0 - ak) \ / \ k \in \mathbb{Z}\}\).

3e cas : a et b premiers entre eux et c ≠ 1.

Puisque \(\text{pgcd}(a,b) = 1\), Bézout donne \((x_0,y_0)\) solution de \(ax_0 + by_0 = 1\). En multipliant par \(c\) : \(a(cx_0) + b(cy_0) = c\), donc \((X_0, Y_0) = (cx_0, cy_0)\) est une solution particulière. Le raisonnement du 2e cas donne : \(S_{(E)} = \{(cx_0 + bk,\ cy_0 - ak) \ / \ k \in \mathbb{Z}\}\).

4e cas : a et b non premiers entre eux et c = pgcd(a,b).

On pose \(c = d\), \(a = ca'\) et \(b = cb'\) avec \(\text{pgcd}(a',b') = 1\). L'équation se réduit à \(a'x + b'y = 1\) : on est ramené au 2e cas. Ensemble des solutions : \(S_{(E)} = \{(x_0 + b'k,\ y_0 - a'k) \ / \ k \in \mathbb{Z}\}\).

5e cas : a et b non premiers entre eux et c divisible par d = pgcd(a,b).

Il existe \(\alpha \in \mathbb{Z}^*\) tel que \(c = \alpha d\). Soit \((x_0,y_0)\) solution particulière de \(ax_0 + by_0 = d\) (cas 4). En multipliant par \(\alpha\) : \(a(\alpha x_0) + b(\alpha y_0) = c\). Ensemble des solutions (avec \(b' = b/d\) et \(a' = a/d\)) : \(S_{(E)} = \{(\alpha x_0 + b'k,\ \alpha y_0 - a'k) \ / \ k \in \mathbb{Z}\}\).

Algorithme Python — equadiop(a, b, c)

def equadiop(a, b, c):
    for u in range(-10, 10):
        for v in range(-10, 10):
            e = a*u + b*v
            if e == c:
                return u, v
    return "vide"

Note : cet algorithme cherche une solution particulière par force brute sur un intervalle. Pour de grands entiers, on utilise l'algorithme de Bézout.

Exemple numérique — 114x + 30y = 54

On calcule \(\text{pgcd}(114, 30) = 6\) et \(6 \mid 54\) → des solutions existent.

Le script Python donne \((x_0, y_0) = (1, -2)\) comme solution particulière.

En soustrayant les équations pour \((x,y)\) et \((x_0,y_0)\) :

\[114(x-1) + 30(y+2) = 0 \implies 114(x-1) = 30(2-y)\]

En divisant par \(d=6\) : \(19(x-1) = 5(y_0-y)\). Puisque \(5 \mid 19(x-1)\) et \(\text{pgcd}(5,19)=1\), Gauss donne \(5 \mid x-1\), soit \(x = 1 + 5k\). Puis \(y = -2 - 19k\).

Vérification : \(114(1+5k) + 30(-2-19k) = 114 + 570k - 60 - 570k = 54\). ✓

\[S_{(E)} = \{(1+5k,\ -2-19k) \ / \ k \in \mathbb{Z}\}\]

II.5 PPCM

Définition 5 — PPCM

Soient \(a\) et \(b\) deux entiers naturels non nuls. On appelle PPCM de \(a\) et \(b\), noté \(\text{ppcm}(a;b)\) ou \(a \vee b\), le plus petit multiple commun non nul de \(a\) et \(b\).

Exemples
Théorème 8

Les multiples communs de \(a\) et \(b\) sont exactement les multiples de \(\text{ppcm}(a;b)\) :

\[\text{ppcm}(a;b) \mid m \Longleftrightarrow \begin{cases} a \mid m \\ b \mid m \end{cases}\]

De manière équivalente : \((a \vee b)\mathbb{Z} = a\mathbb{Z} \cap b\mathbb{Z}\).

Théorème 9 — Relation PGCD-PPCM
\[ab = \text{ppcm}(a;b) \times \text{pgcd}(a;b)\]
Exemple

\(\text{pgcd}(42;60) = 6\). Si \(m = \text{ppcm}(42;60)\), alors \(6m = 42 \times 60\), donc \(m = 420\).

Corollaire 3
\[\forall k \in \mathbb{N},\quad \text{ppcm}(ka;kb) = k \times \text{ppcm}(a;b)\]
Proposition 7 — Via décomposition primaire (PPCM)
\[a \vee b = \prod_{p \in \mathbb{P}} p^{\max(\alpha_p, \beta_p)}\]
Méthode pratique

Pour des entiers pas trop grands : décomposer en facteurs premiers, puis prendre chaque facteur avec le plus grand exposant.

Exercice 11

Déterminer \(m = 44100 \vee 36036\).

Exercice 12

Déterminer \(\text{ppcm}(240 ; 756)\).