Restes chinois : ichinrem, ichrem

### 6.7.25 Restes chinois : `ichinrem, ichrem`

`ichinrem([a,p],[b,q])` ou `ichrem([a,p],[b,q])` désigne une liste `[c,lcm(p,q)]` formée de deux entiers.
Le premier nombre `c` est tel que

∀ k ∈ ℤ, d=c+ k × lcm(p,q)

vérifie

d=a (mod p ), d=b (mod q )

Si `p` et `q` sont premiers entre eux, il existe toujours une solution `d` et toutes les solutions sont alors congrues modulo `p*q`.
Exemples :

1. Trouver les solutions de :

   `⎧ ⎨ ⎩` |
   `x=` | `3 (``mod` `5)`
   `x=` | `9 (``mod` `13)`
   | ``

   On tape :
   `ichinrem([3,5],[9,13])`
   ou on tape :
   `ichrem([3,5],[9,13])`
   On obtient :
   `[-17,65]`
   ce qui veut dire que `x=-17 (mod 65)`
   On peut aussi taper :
   `ichrem(3% 5,9% 13)`
   On obtient :
   `-17% 65`
2. Trouver les solutions de :

   `⎧ ⎪ ⎨ ⎪ ⎩` |
   `x=` | `3 (``mod` `5)`
   `x=` | `4 (``mod` `7)`
   `x=` | `1 (``mod` `9)`
   | ``

   On tape tout d’abord :
   `tmp:=ichinrem([3,5],[4,7])`
   ou on tape :
   `tmp:=ichrem([3,5],[4,7])`
   On obtient :
   `[-17,35]`
   puis on tape
   `ichinrem([1,9],tmp)`
   ou on tape :
   `ichrem([1,9],tmp)`
   On obtient :
   `[-17,315]`
   ce qui veut dire que `x=-17 (mod 315)`
   On peut aussi taper directement :
   `ichinrem([3% 5,4% 7,1% 9])`
   On obtient :
   `-17% 315`