Le théorème des restes chinois

Théorème

Si m1, ..., mn sont des entiers supérieurs à 2 deux-à-deux premiers entre eux, alors, pour des entiers a1, ..., an, le système d'équations:

x mod m1 = a1
...
x mod mn = an

admet une unique solution modulo M = m1 · ... · mn donnée par la formule:

x = (a1M1y1 + ... + anMnyn) mod M

où  Mi = M/mi  et  yi = Mi-1 mod mi  pour 1 i n.

Exemple

Pour n = 3, supposons que m1 = 7, m2 = 11 et m3 = 13. On a donc M = 1001.
On calcule M1 = 143, M2 = 91, M3 = 77.
D'après l'algorithme d'Euclide étendu, on a y1 = 5, y2 = 4, y3 = 12.
Par exemple, pour le système d'équations:

x mod 7 = 5
x mod 11 = 3
x mod 13 = 10
la formule donne pour solution:

x = (5·143·5 + 3·91·4 + 10·77·12) mod 1001
x = 13'907 mod 1001
x = 894
On peut facilement vérifier cette solution en introduisant x dans le système d'équations.


Exercice

Une bande de 17 pirates s'est emparée d'un butin composé de pièces d'or d'égale valeur. Ils décident de se les partager également, et de donner le reste au cuisinier chinois. Celui-ci reçoit alors 3 pièces. Mais les pirates se querellent, et 6 d'entre eux sont tués. Après un nouveau partage du même butin, le cuisinier reçoit 4 pièces. Dans un naufrage ultérieur, seuls le butin, 6 pirates et le cuisinier sont sauvés, et le partage donne alors 5 pièces d'or à ce dernier. Quelle est la fortune minimale que peut espérer le cuisinier s'il décide d'empoisonner les derniers pirates?

Solution


Références


  Didier Müller, 29.1.21