Modulorekenen en de chinese reststelling

advertisement
1. De nood aan abstract rekenen
1.1 Twee vraagstukken
Laten we om te beginnen eens kijken naar de volgende twee probleempjes: een oud en een recent.
Vraagstuk 1 (China, 1247, Qin Jiushao) Een oude vrouw gaat naar de markt om haar eieren te
verkopen. Een paard trapt echter op haar eiermand en breekt haar eieren. De man op het paard biedt de
vrouw aan haar te vergoeden en vraagt hoeveel eieren er in de mand zaten. De vrouw kon zich dat niet
herinneren, maar ze weet nog wel dat als ze de eieren er per 2 uitnam, ze met één ei overbleef, en
hetzelfde gebeurde als ze de eieren er per 3 uitnam, per 4, per 5 of per 6. Als ze de eieren er per zeven
uitnam, dan bleef er geen ei meer over. Hoeveel eieren had de vrouw minstens in haar mand?
Vraagstuk 2 (Poster Vlaamse Wiskunde Olympiade 2006-2007) In de bijgaande figuur vind je 4
tandwielen die in elkaar haken. De pijltjes wijzen steeds naar boven en duiden op dit moment het jaartal
2006 aan. Als je aan één van de tandwielen draait, draaien de andere tandwielen mee. Is het mogelijk om
de tandwielen zo te draaien dat de pijltjes het jaartal 2007 weergeven?
 Vlaamse Wiskunde Olympiade
1.2. Een herformulering van de problemen
In wiskundige bewoording kunnen we het eerste vraagstuk herformuleren door n het aantal eieren te
noemen en te zeggen dat n rest 1 heeft bij deling door 2, bij deling door 3, bij deling door 4, bij deling
door 5 en bij deling door 6. n is bovendien deelbaar door 7.
De opgave uit vraagstuk 2 kan ook op analoge manier beschreven worden. Noem n namelijk het aantal
tikjes dat het grootste tandwiel moet draaien om uiteindelijk 2006 in 2007 te veranderen (dit is uiteraard
precies evenveel als het aantal tikjes dat de andere tandwielen moeten draaien). Omdat het kleinste
Uitwiskeling werktekst
1
tandwiel terug op de 2 moet komen, moet n dus deelbaar zijn door 5. Om dezelfde reden (kijk naar de
twee middelste tandwielen) moet n deelbaar zijn door 7 en door 11. Het grootste tandwiel moet precies 1
tikje verder staan, en zodus moet n rest 1 hebben bij deling door 13 (tenminste als het grootste tandwiel in
tegenwijzerzin draait).
In beide problemen merken we de nood aan het kunnen rekenen met resten van getallen na deling door één
of meerdere getallen.
2. Rekenen modulo n
Voor we beginnen aan deze minder evidente vraagstukken, gaan we eerst eens kijken naar een
eenvoudiger probleempje.
Vraagstuk 3 Toon aan dat 3 nooit een deler is van k 3 + k 2 + 4k + 2 als k ∈ ℤ .
We kunnen dit testen voor enkele getallen en dit blijkt inderdaad waar te zijn, maar dat toont de
eigenschap niet aan voor elke k ∈ ℤ . Daarom moeten we een nieuwe strategie invoeren. Voor het
bewijzen van deze eigenschap is het namelijk helemaal niet van belang wat de waarde van k is, maar enkel
wat de rest is van k na deling door 3.
In wat volgt bekijken we van een geheel getal niet langer zijn waarde, maar enkel zijn rest bij deling door
een vooraf bepaald getal n (n ≥ 0). We kunnen de getallen met dezelfde rest dan groeperen.
Laten we dit eens bekijken voor n = 7:
rest
gehele
getallen
met
deze
rest
0
⋮
−7
0
7
14
21
⋮
1
⋮
−6
1
8
15
22
⋮
3
⋮
−4
3
10
17
24
⋮
2
⋮
−5
2
9
16
23
⋮
4
⋮
−3
4
11
18
25
⋮
5
⋮
−2
5
12
19
26
⋮
6
⋮
−1
6
13
20
27
⋮
Getallen uit hetzelfde vakje staan in verband met elkaar omdat ze dezelfde rest hebben na deling door 7.
De volgende definitie legt dit concept vast voor willekeurige n.
Definitie 2.1 Twee gehele getallen x en y met dezelfde rest bij deling door n worden congruent modulo n
genoemd. We noteren hiervoor
x ≡ y (mod n).
We kunnen dit echter ook op een andere manier vastleggen.
Eigenschap 2.1 Twee gehele getallen x en y zijn congruent modulo n als en slechts als n een deler is van
x− y.
In symbolen:
x ≡ y (mod n) ⇔
Opdracht 2.1 Bewijs deze eigenschap.
Uitwiskeling werktekst
2
n | (x − y)
“Congruentie modulo n” voldoet aan de drie volgende eigenschappen en daarom noemen we ze een
equivalentierelatie in de verzameling ℤ:
•
•
•
Reflexief
∀a ∈ ℤ : a ≡ a (mod n)
Symmetrisch
∀a, b ∈ ℤ : a ≡ b (mod n) ⇒ b ≡ a (mod n)
Transitief
∀a, b, c ∈ ℤ : a ≡ b (mod n) en b ≡ c (mod n) ⇒ a ≡ c (mod n)
Opdracht 2.2 Toon deze eigenschappen aan.
Deze equivalentierelatie zorgt ervoor dat de verzameling ℤ opgedeeld wordt in equivalentieklassen, die
we in dit geval restklassen zullen noemen. In geval van het voorbeeld bij deling door 7 krijgen we dus 7
restklassen, die overeen komen met de zeven verzamelingen van getallen in de kolommen van de
voorgaande tabel. Elke verzameling krijgt een naam, bijvoorbeeld:
3 = {b ∈ ℤ | b ≡ 3 (mod 7)}
Voor een willekeurige n geldt dan de volgende definitie:
Definitie 2.2 a = {b ∈ ℤ | b ≡ a (mod n)}
Er zijn bij deling door n precies n verschillende resten mogelijk. Om die reden zijn er ook precies n
restklassen.
De verzameling van die restklassen modulo n noteren we als ℤ n . We krijgen dus dat
ℤ n = {0, 1, … , n − 1}.
Merk op dat we ook andere gehele getallen kunnen nemen om de restklassen voor te stellen. Zo is
bijvoorbeeld 156 = 148 = 4 = −12 indien we rekenen in ℤ 8 , aangezien 156, 148, 4 en −12 dezelfde rest
hebben bij deling door 8. Het modulo-rekenen in ℤ12 komt ons natuurlijk over omwille van het kloklezen:
15 = 3 betekent dat 15 uur ook als 3 uur gelezen mag worden.
2.1 De optelling in ℤ n
Laten we eens terugkijken naar vraagstuk 3. We hebben nu ℤ 3 = {0, 1, 2} ingevoerd, wat ons toelaat om
met resten te werken in plaats van met de getallen zelf. Voor ons vraagstuk willen we echter ook kunnen
optellen (of aftrekken) en kunnen vermenigvuldigen (of een derdemacht nemen).
Is het mogelijk om twee restklassen a en b op te tellen? We willen hier twee verzamelingen optellen en
als resultaat terug een verzameling krijgen. Een noodzakelijke voorwaarde die we ons moeten opleggen is
dat het niet mag uitmaken welk element van a en welk element van b we nemen om de optelling uit te
voeren, het resultaat moet steeds in dezelfde restklasse vallen. Laten we bij wijze van voorbeeld eens
kijken naar ℤ 8 . We willen de restklasse 2 optellen met 5 :
{… , − 14, −6 , 2, 10, 18, …} + {…, − 11, − 3, 5, 13, 21 , 29, …}
Neem nu twee willekeurige elementen: −6 en 21. We krijgen dan (−6) + 21 = 15 ∈ 7 . Welke combinatie
van twee getallen we ook nemen, we krijgen steeds een getal uit 7 . Om deze reden vermoeden we dat het
mogelijk is om te schrijven dat
3
Uitwiskeling werktekst
2 + 5 = 7.
Laten we dit nu voor een algemene n aantonen:
Eigenschap 2.2
 a ≡ b (mod n)
⇒ a + c ≡ b + d (mod n).

c ≡ d (mod n)
Opdracht 2.3 Bewijs deze eigenschap.
Deze eigenschap geeft dus aan dat we een optelling kunnen definiëren die de som neemt van twee
restklassen.
Definitie 2.3 Indien a en b elementen zijn van ℤ n , dan wordt de optelling in ℤ n gegeven door
a+b= a+b
De + in het linkerlid is dan de nieuwe optelling van twee restklassen die we net gedefinieerd hebben, de +
in het rechterlid is dan de gewone optelling in ℤ. Voor de eenvoud schrijven we toch tweemaal hetzelfde
teken.
De optellingstabel van bijvoorbeeld ℤ 5 ziet er dan als volgt uit:
ℤ5, +
0
1
2
3
4
0
0
1
2
3
4
1
1
2
3
4
0
2
2
3
4
0
1
3
3
4
0
1
2
4
4
0
1
2
3
Je leest er uit af dat 2 + 3 = 0 .
Aangezien de optelling in ℤ n gebaseerd is op de optelling in ℤ, worden een aantal basiseigenschappen
van ℤ overgezet op ℤ n :
•
De optelling is associatief:
∀a, b, c ∈ ℤ n : (a + b) + c = a + (b + c).
•
Er bestaat een neutraal element, namelijk 0 :
∀a ∈ ℤ n : a + 0 = 0 + a = a
•
Elk element heeft een invers element ten opzichte van de optelling:
∀a ∈ ℤ n , ∃ b ∈ ℤ n : a + b = 0.
We noteren hiervoor, zoals we gewoon zijn, b = − a .
•
De optelling is commutatief:
∀a , b ∈ ℤ n : a + b = b + a .
Opdracht 2.4 Controleer deze eigenschappen voor enkele getallen en bewijs ze daarna.
Uitwiskeling werktekst
4
Een verzameling (in dit geval ℤ n ) en een bewerking op die verzameling (in dit geval de optelling) die aan
de bovenstaande eigenschappen voldoen, noemt men in de abstracte wiskunde een commutatieve groep.
Op dezelfde manier is ook ℤ met de gewone optelling een commutatieve groep.
2.2 De vermenigvuldiging in ℤ n
We zijn ook geïnteresseerd om te kunnen vermenigvuldigen in ℤ n . Net zoals bij de optelling moeten we
ons afvragen of dit allemaal wel lukt bij restklassen. Gelijkaardig aan eigenschap 2.2 hebben we
Eigenschap 2.3
 a ≡ b (mod n)
⇒ a ⋅ c ≡ b ⋅ d (mod n)

c ≡ d (mod n)
Opdracht 2.5 Controleer dit door enkele concrete getallen in te vullen. Bewijs de eigenschap ook
algemeen.
Deze eigenschap verklaart waarom we de vermenigvuldiging kunnen invoeren:
Definitie 2.4 De vermenigvuldiging op ℤ n wordt gedefinieerd door
a ⋅b = a ⋅b
Ook hier is de vermenigvuldiging in het linkerlid de (nieuwe) vermenigvuldiging van restklassen en is de
vermenigvuldiging in het rechterlid de (gekende) vermenigvuldiging van gehele getallen.
Opdracht 2.6 Leg duidelijk uit waarom je eigenschap 2.3 nodig hebt om de vermenigvuldiging te kunnen
invoeren.
Opdracht 2.7 Vul de vermenigvuldigingstabel van ℤ 4 en ℤ 5 aan.
ℤ4 ,⋅
0
1
3
2
0
1
2
3
ℤ5 ,⋅
0
1
2
3
4
0
1
2
3
4
Opnieuw zijn er, net zoals bij de optelling, een aantal eigenschappen waaraan voldaan is:
•
De vermenigvuldiging is associatief:
∀ a , b, c ∈ ℤ n : ( a ⋅ b ) ⋅ c = a ⋅ ( b ⋅ c )
•
Er bestaat een neutraal element voor de vermenigvuldiging, namelijk 1 :
Uitwiskeling werktekst
5
∀a ∈ ℤ n : a ⋅ 1 = 1 ⋅ a = a
•
Er is distributiviteit van de vermenigvuldiging ten opzichte van de optelling:
∀a, b, c ∈ ℤ n : a ⋅ (b + c) = a ⋅ b + a ⋅ c
•
De vermenigvuldiging is commutatief:
∀a , b ∈ ℤ n : a ⋅ b = b ⋅ a .
Deze eigenschappen kennen we ook in ℤ en worden hier overgedragen op ℤn.
Opdracht 2.8 Verifieer deze eigenschappen met concrete getallen, maar bewijs ze ook algemeen.
Laten we, nu we kunnen optellen en vermeningvuldigen modulo n, terugkeren naar vraagstuk 3. Dit
vraagstuk gaf een eigenschap over alle elementen van ℤ. Vermits de eigenschap gaat over de deelbaarheid
door 3, gaan we rekenen in ℤ 3 . De te bewijzen eigenschap wordt dan:
voor elke k ∈ ℤ is k 3 + k 2 + 4k + 2 ≠ 0 .
Door de definitie en eigenschappen van optelling en vermenigvuldiging in ℤ 3 kunnen we dit omzetten in:
3
2
voor elke k ∈ ℤ 3 is k + k + 4 ⋅ k + 2 ≠ 0 .
Vermits er maar drie restklassen zijn modulo 3, kunnen we dit snel invullen en uitrekenen.
Opdracht 2.9 Toon nu de eigenschap uit vraagstuk 3 aan door die te verifiëren voor de drie restklassen
modulo 3.
Uitwiskeling werktekst
6
2.3 Inversen en nuldelers
Over een invers element ten opzichte van de vermenigvuldiging hebben we nog niet gesproken. Geldt de
eigenschap
∀a ∈ ℤ n , ∃ b ∈ ℤ n : a ⋅ b = 1
hier ook?
Het antwoord is duidelijk NEEN. Met a = 0 kunnen we nooit een b vinden zodat 0 ⋅ b = 1 , want 0 ≠ 1 .
(We gaan er hier van uit dat n strikt groter is dan 1. Het geval n = 1 wordt zelden beschouwd.)
Om deze reden laten we alvast de 0 buiten beschouwing en vragen ons af of de volgende eigenschap
geldt:
∀a ∈ ℤ n \ {0} , ∃ b ∈ ℤ n : a ⋅ b = 1 .
Opdracht 2.10 Controleer in de vermenigvuldigingstabellen van ℤ 4 en ℤ 5 (met telkens 0 buiten
beschouwing gelaten) of je steeds een invers element kan vinden.
Vermits niet alle elementen een invers element hebben, kunnen we spreken van de inverteerbare
elementen in ℤ n en we noteren hiervoor:
{
}
ℤ*n = a ∈ ℤ n | ∃ b ∈ ℤ n : a ⋅ b = 1 .
Naast de zoektocht naar inverse elementen, kunnen we nog iets opmerken: in ℤ 4 is 2 ⋅ 2 = 4 = 0 . We
noemen 2 een nuldeler in ℤ 4 : het is mogelijk om 0 te schrijven als 2 maal een restklasse verschillend
van 0 (in dit geval ook 2 ). Dit zijn we niet gewoon bij het rekenen in ℤ. Ten gevolge van het bestaan van
nuldelers, komen er ineens nog een aantal andere gekende en vaak toegepaste eigenschappen uit ℤ op de
helling te staan wanneer we werken in ℤ n . Zo zal bijvoorbeeld de schrapwet niet zomaar mogen gebruikt
worden:
a ⋅b = a ⋅c
⇒
b=c
Opdracht 2.11 Zoek hiervoor zelf enkele voorbeelden.
3. Deelbaarheidseigenschappen
3.1 De grootst gemene deler
Definitie 3.1 De grootste gemene deler van twee gehele getallen a en b is het (unieke) strikt positief getal
d zodat:
(a) d | a
(b) d | b
(c) d is het grootste getal dat voldoet aan (a) en (b).
Uitwiskeling werktekst
7
We noteren: d = ggd (a, b) .
Zo is bijvoorbeeld ggd (25, 20) = 5 .
Twee gehele getallen a en b heten relatief priem indien ggd (a, b) = 1 .
3.2 Het algoritme van Euclides
Voor het bepalen van ggd (a, b) gebruiken we de volgende eigenschap:
Eigenschap 3.1
ggd (a, b) = ggd (b, a − b)
Bewijs. Elke gemene deler van a en b is ook een gemene deler van b en a − b, en omgekeerd: elke gemene
deler van b en a − b is een gemene deler van (a − b) + b = a en b. Bijgevolg is ggd (a, b) = ggd (b, a − b) .
□
We kunnen de grootst gemene deler van a en b bepalen door steeds de kleinste van de grootste af te
trekken, totdat de twee getallen gelijk zijn. Bijvoorbeeld:
ggd (78,30) = ggd (48,30) = ggd (30,18) = ggd (18,12) = ggd (12,6) = ggd (6,6) = 6 .
Het algoritme van Euclides gaat deze rekenmethode versnellen door gebruik te maken van de volgende
eigenschap, een veralgemening van eigenschap 3.1.
Eigenschap 3.2 (De Euclidische deling) Indien a en b strikt positieve gehele getallen zijn, bestaan er
unieke gehele getallen q (quotient) en r (rest) zo dat
•
a = bq + r
•
0≤r <q.
In dit geval is ggd (a, b) = ggd (b, r ) .
Hierdoor kan je meteen overgaan van ggd (78,30) naar ggd (30,18).
Algoritme van Euclides
De grootst gemene deler van twee positieve getallen a, b (met a > b ) kan je als volgt bepalen:
Stap 1: stel x = a en y = b .
Stap 2: bepaal de rest r bij deling van x door y. Ga naar stap 3.
Stap 3: indien r = 0 is ggd (a, b) = y . Je bent klaar.
Indien r ≠ 0 , geef dan x de waarde y en y de waarde r en ga dan terug naar stap 2.
Laten we dat meteen op een voorbeeld toepassen en de ggd (1245, 255) berekenen:
1245 = 4 ⋅ 255 + 225
255 = 1 ⋅ 225 + 30
225 = 7 ⋅ 30 + 15
30 = 2 ⋅ 15 + 0
Uitwiskeling werktekst
8
We vinden dat ggd (1245, 255) = 15 .
Om een goed algoritme te hebben, moeten we zeker zijn dat er ooit een einde aan komt. Hieraan is echter
voldaan. We krijgen immers algemeen het volgende verloop:
a = q1 ⋅ b + r1
met
0 ≤ r1 < b
b = q2 ⋅ r1 + r2
met
0 ≤ r2 < r1
r1 = q3 ⋅ r2 + r3
met
0 ≤ r3 < r2
r2 = q4 ⋅ r3 + r4
met
0 ≤ r4 < r3
enz. Vermits 0 ≤ ⋯ < r4 < r3 < r2 < r1 < b en er maar een eindig aantal positieve getallen kleiner dan b zijn,
weten we zeker dat het algoritme stopt.
Opdracht 3.1 Bepaal zelf ggd (348, 5032) en ggd (12345, 23456) .
3.3 De stelling van Bézout
De stelling van Bézout gaat nog iets verder dan het algoritme van Euclides. We zouden namelijk graag de
grootst gemene deler van a en b willen kunnen schrijven als een lineaire combinatie van a en b.
Stelling 3.1 (Bézout) De grootste gemene deler van strikt positieve gehelen a en b kan geschreven worden
als lineaire combinatie van a en b. Met andere woorden, er bestaan gehele getallen r en s zodat
ggd (a, b) = r ⋅ a + s ⋅ b.
Uiteraard zal één van beide getallen steeds positief zijn en het andere negatief.
Bewijs. We bewijzen deze stelling door het algoritme van Euclides, dat we in de vorige paragraaf zagen,
uit te breiden. We zullen tijdens dit proces namelijk steeds de resten r1 , r2 , r3 , … schrijven als een aantal
keer a plus een aantal keer b. We starten door dit eerst met a en b te doen.
a = 1⋅ a + 0 ⋅ b
b = 0 ⋅ a + 1⋅ b
Omdat elke rest kan geschreven worden als een lineaire combinatie van de vorige resten, kan elke
volgende rij in onze tabel hieronder geschreven worden als lineaire combinatie van de twee vorige rijen.
De volgende stappen worden dan:
rij 1: a = 1 ⋅ a +
rij 2 : b = 0 ⋅ a +
0 ⋅ b
1 ⋅ b
rij 3: r1 = 1 ⋅ a + ( − q1 )⋅ b
want r1 = a − q1b
rij 4 : r2 = x2 ⋅ a +
y2 ⋅ b
want r2 = b − q2 r1 en dus: rij 4 = rij 2 − q2 ⋅ rij 3
rij 5: r3 = x3 ⋅ a +
y3 ⋅ b
want r3 = r1 − q3 r2 en dus: rij 5 = rij 3 − q3 ⋅ rij 4
= x1
enzoverder.
We bepalen dus steeds xi +1 en yi +1 door
xi +1 = xi −1 − qi +1 xi
yi +1 = yi −1 − qi +1 yi
Uitwiskeling werktekst
en dus: rij 3 = rij 1 − q1 ⋅ rij 2
= y1
9
Uiteindelijk zal er een natuurlijk getal k bestaan zodat rk = ggd (a, b) . Vermits we volgens dit uitgebreid
algoritme van Euclides rk kunnen schrijven als rk = xk ⋅ a + yk ⋅ b , hebben we dus een r en een s gevonden
zodat
ggd (a, b) = r ⋅ a + s ⋅ b .
□
We hebben nu niet alleen bewezen dat zo een r en een s bestaan, we hebben ook meteen een methode
beschreven om de r en de s te bepalen. Laten we dit eens doen voor het voorbeeld van daarnet.
We zoeken r , s ∈ ℤ zodat 15 = r ⋅ 1245 + s ⋅ 255 .
We passen het uitgebreide algoritme van Euclides toe, maar gieten dit in een handig rekenschema.
ri
1245
255
225
30
15
0
qi
4
1
7
xi
1
0
1
−1
8
yi
0
1
−4
5
−39
berekening
rij 1
rij 2
225 = 1245 − 4 ⋅ 255 en dus rij 3 = rij 1 − 4 ⋅ rij 2
30 = 255 − 1 ⋅ 225 en dus rij 4 = rij 2 − 1 ⋅ rij 3
15 = 225 − 7 ⋅ 30 en dus rij 5 = rij 3 − 7 ⋅ rij 4
0 = 30 − 2 ⋅15
en we stoppen.
We vinden dus
15 = 8 ⋅ 1245 + ( −39) ⋅ 255
Opmerking 3.1 Deze getallen r en s uit de stelling zijn niet uniek. Zo zou je voor 1245 en 255 ook nog
een andere oplossing kunnen vinden:
−9 ⋅ 1245 + 44 ⋅ 255 = 15 .
Opdracht 3.2
Schrijf ggd (348, 5032) als lineaire combinatie van 348 en 5032 alsook
ggd (12345, 23456) als lineaire combinatie van 12345 en 23456.
3.4 Het bepalen van inverse restklassen
Bij het rekenen modulo n, zagen we dat niet alle restklassen een inverse hebben voor de
vermenigvuldiging modulo n. In deze paragraaf beantwoorden we de volgende twee vragen:
Wanneer heeft een restklasse een inverse en hoe bepalen we die inverse restklasse?
Voor het antwoord van de eerste vraag gebruiken we de stelling van Bézout in het speciale geval dat
ggd (a, b) = 1 . Indien a en b relatief priem zijn, bestaan er immers r , s ∈ ℤ zodat ra + sb = 1 . Ook
omgekeerd geldt dat als je getallen r en s in ℤ kan vinden zodat ra + sb = 1 , dat dan a en b relatief priem
zijn (dit kan je aantonen door te veronderstellen dat ze wel een gemeenschappelijke deler hebben en dan
een contradictie te bekomen).
De volgende stelling beantwoordt dan de eerste vraag.
Stelling 3.2 Stel a ∈ ℤ en n ∈ ℕ, n ≥ 2 . Dan geldt: a heeft een inverse in ℤ n als en slechts als a en n
relatief priem zijn.
Uitwiskeling werktekst
10
Bewijs. a heeft een inverse in ℤ n als er een l ∈ ℤ bestaat zodat l ⋅ a ≡ 1 (mod n) , met andere woorden als
er een k bestaat zodat l ⋅ a + k ⋅ n = 1 . Dit is volgens de stelling van Bézout en zijn inverse stelling dan weer
□
equivalent met het feit dat ggd (a, n) = 1 en dus dat a en n relatief priem zijn.
De tweede vraag wordt dan beantwoord door het uitgebreide algoritme van Euclides. Indien je immers de
inverse wil bepalen van a in ℤ n , met ggd (a, n) = 1 , dan kan je door dat algoritme getallen r en s bepalen
zodat ra + sn = 1 . r is dan de inverse van a in ℤ n .
Voorbeeld 3.1 Laten we bij wijze van voorbeeld de inverse van 17 bepalen in ℤ 83 . Vermits 17 en 83
relatief priem zijn, kunnen we het uitgebreide algoritme van Euclides gebruiken om een lineaire
combinatie van 17 en 83 te vinden die 1 geeft. We vinden:
8 ⋅ 83 − 39 ⋅ 17 = 1 ⇒ ( −39) ⋅ 17 ≡ 1 (mod83).
−39 = 44 is dus de inverse van 17 in ℤ 83 .
4. De Chinese reststelling
Eindelijk is het tijd om terug te keren naar vraagstuk 1 en 2. Nu we intussen de modulonotatie gewend
zijn, kunnen we de vraagstukken herformuleren. Vraagstuk 1 wordt: zoek een x ∈ ℤ zodat het een
oplossing is voor het stelsel
x ≡ 1
x ≡ 1

 x ≡ 1

x ≡ 1
x ≡ 1

 x ≡ 0
(mod 2)
(mod 3)
(mod 4)
(mod 5)
(mod 6)
(mod 7)
Vraagstuk 2 wordt: zoek een x ∈ ℤ zodat het een oplossing is voor het stelsel
x ≡ 0
x ≡ 0


x ≡ 0
 x ≡ 1
(mod 5)
(mod 7)
.
(mod11)
(mod13)
Twee vragen moeten we ons stellen: “Bestaat er zo een oplossing?” en “Hoe bepalen we die oplossing?”.
De volgende stelling geeft een antwoord op beide vragen:
Stelling 4.1 (De Chinese reststelling) Stel dat n1 , n2 ,… , nk gehele getallen zijn die twee aan twee relatief
priem zijn. Dan heeft het stelsel
 x ≡ a1 (mod n1 )
 x ≡ a (mod n )

2
2

⋮

 x ≡ ak (mod nk )
een oplossing en die oplossing is uniek modulo n = n1 ⋅ n2 ⋅ ... ⋅ nk . Daarmee bedoelen we dat als x en x '
allebei oplossingen zijn van het stelsel, dat dan x ≡ x′ (mod n) .
Uitwiskeling werktekst
11
Ook andersom valt makkelijk in te zien dat als x een oplossing is en x ≡ x′ (mod n) , dat dan ook x ' een
oplossing is.
Het bewijs baseert zich op het feit dat als een geheel getal relatief priem is ten opzichte van verschillende
getallen, dat het dan ook relatief priem is ten opzichte van het product van die getallen.
Alvorens we aan het bewijs van deze krachtige stelling beginnen, kunnen we proberen aan te voelen wat
er precies moet gebeuren door enkele eenvoudige voorbeelden te bekijken.
Voorbeeld 4.1 Zoek de oplossing x die voldoet aan de volgende vergelijkingen:
x ≡1

x ≡ 0
(mod 5)
(mod 7)
.
We zoeken dus een zevenvoud dat rest 1 heeft bij deling door 5. Je vindt al snel 21 als resultaat door
gewoon te proberen. Hetzelfde antwoord had je verkregen door de stelling van Bézout te gebruiken om
een lineaire combinatie van 5 en 7 te bepalen:
7 ⋅ 3 + (−4) ⋅ 5 = 1.
Je neemt dan 7 ⋅ 3 = 21 als uitkomst.
Voorbeeld 4.2 Zoek de oplossing x die voldoet aan de volgende vergelijkingen:
 x ≡ 3 (mod 5)

 x ≡ 2 (mod 7)
Om dit stelsel op te lossen, lossen we eerst twee eenvoudigere stelsels op:
u1 ≡ 1 (mod 5)

u1 ≡ 0 (mod 7)
u2 ≡ 0 (mod 5)

u2 ≡ 1 (mod 7)
en
Het linkse stelsel losten we op in voorbeeld 1, het antwoord hier was u1 = 21 . Het rechtse stelsel geeft al
snel als oplossing u2 = 15 want 15 ≡ −20 (mod35) . Vanuit deze antwoorden kunnen we dan ook heel
eenvoudig oplossingen bepalen voor
 x1 ≡ 3 (mod 5)

 x1 ≡ 0 (mod 7)
 x2 ≡ 0 (mod 5)
.

 x2 ≡ 2 (mod 7)
en
De oplossingen hiervan zijn namelijk x1 = 3 ⋅ u1 = 63 voor het linkse stelsel en x2 = 2 ⋅ u2 = 30 voor het
rechtse. Nu gaan we deze twee antwoorden combineren tot de oplossing van het oorspronkelijk stelsel. We
tellen ze namelijk gewoon op:
x = x1 + x2 = 63 + 30 = 93.
Indien we immers bij x1 een vijfvoud bijtellen, blijft de rest bij deling door 5 nog steeds 3, als we bij x2
een zevenvoud bijtellen, blijft de rest bij deling door 7 nog steeds 2.
93 is echter niet de kleinste oplossing voor dit stelsel. Als we er een veelvoud van 35 van aftrekken,
krijgen we steeds een oplossing: 58 en 23 zijn ook oplossingen.
Voorbeeld 4.3 Zoek de oplossing x die voldoet aan de volgende vergelijkingen:
x ≡ 0
x ≡ 0


x ≡ 0
 x ≡ 1
Uitwiskeling werktekst
(mod 2)
(mod 3)
(mod 5)
(mod 7)
12
Om dit stelsel op te lossen zetten we het om in een equivalent stelsel. Vermits x deelbaar moet zijn door 2,
3 en 5, moet het ook deelbaar zijn door hun product 30.
x ≡ 0

x ≡ 1
(mod30)
(mod 7)
Dit probleem is dan gelijkaardig aan dat in voorbeeld 4.1. We vinden (bijv. via Bézout) dat
4 ⋅ 30 + (−17) ⋅ 7 = 1 .
Een oplossing voor het stelsel is dan 4 ⋅ 30 = 120 .
Voorbeeld 4.4 Zoek de oplossing x die voldoet aan de volgende vergelijkingen:
x ≡1
x ≡1


x ≡ 2
 x ≡ 3
(mod 2)
(mod 3)
(mod 5)
(mod 7)
Dit is een voorbeeld van de Chinese reststelling in zijn algemene vorm.
Opdracht 4.1 Combineer de methode uit voorbeeld 4.2 en voorbeeld 4.3 om dit stelsel op te lossen.
Deze laatste oplossingsmethode wordt geformaliseerd in het volgende bewijs.
Bewijs van de chinese reststelling. Noem mi = n/ni voor elke i ∈{1,…, k} (dit is het product van alle n j ,
zonder ni ). Dan is mi relatief priem ten opzichte van ni en dus geldt volgens Bézout dat
∀i ∈{1,… , k}, ∃ ri , si ∈ ℤ : ggd (ni , mi ) = 1 = ri ni + si mi .
Stel nu ui = si mi , dan is
ui = 1 − ri ni ≡ 1 (mod ni )

ui = si mi ≡ 0 (mod n j ) ∀j ≠ i
of na vermenigvuldigen met ai :
ai ui ≡ ai

ai ui ≡ 0
(mod ni )
(mod n j ) ∀j ≠ i
Hieruit volgt dat
x = a1u1 + a2 u2 + ... + ak uk
een oplossing is voor het stelsel.
Indien x ' een andere oplossing is voor het stelsel, dan is x − x ' ≡ 0 (mod ni ) voor elke i ∈{1,… k} ,
m.a.w. ni | ( x − x ') . Vermits alle ni relatief priem zijn, is ook het product n een deler van x − x ' . Daarom
is x ≡ x ' (mod n) .
□
Het vorige bewijs geeft naast het bewijs zelf ook de algemene oplossingsmethode weer. Deze methode
zullen we gebruiken om vraagstuk 1 en 2 op te lossen.
Uitwiskeling werktekst
13
5. De oplossingen van de vraagstukken
Vraagstuk 1
De Chinese reststelling geeft een oplossing voor een stelsel indien alle getallen ni relatief priem zijn.
Helaas is dat voor het eerste vraagstuk niet het geval. We zullen dus onze vergelijking zo moeten
aanpassen dat in de nieuwe situatie alle getallen ten opzichte dewelke we modulo moeten nemen, relatief
priem zijn. Gelukkig zijn er een aantal vergelijkingen die het gevolg zijn van andere vergelijkingen. Zo
geldt:
 x ≡ 1 (mod 2)
⇒

 x ≡ 1 (mod3)
x ≡ 1 (mod 6)
x ≡ 1 (mod 4) ⇒
x ≡ 1 (mod 2).
en
Hierdoor kan het stelsel van de zes vergelijkingen herleid worden naar een stelsel met vier vergelijkingen:
x ≡1
x ≡1


x ≡1
 x ≡ 0
(mod 3)
(mod 4)
(mod 5)
(mod 7)
Dit stelsel voldoet wel aan de beginvoorwaarden van de Chinese reststelling. We vinden hier dat
n = 3 ⋅ 4 ⋅ 5 ⋅ 7 = 420 . Nu bepalen we achtereenvolgens de verschillende waarden uit het bewijs:
n1 = 3
m1 = 420 / 3 = 140
n2 = 4
m2 = 420 / 4 = 105
n3 = 5
m3 = 420 / 5 = 84
n4 = 7
m4 = 420 / 7 = 60
Uitwiskeling werktekst
1 = 47 ⋅ 3 + ( −1) ⋅ 140
1 = ( −26 ) ⋅ 4 + 1 ⋅ 105
1 = 17 ⋅ 5 + ( −1) ⋅ 84
1 = ( −17 ) ⋅ 7 + 2 ⋅ 60
14
u1 = −140
u2 = 105
u3 = −84
u4 = 120
we bepalen dan de x door x = 1 ⋅ u1 + 1 ⋅ u2 + 1 ⋅ u3 + 0 ⋅ u4 uit te rekenen. Dit wordt:
x = −140 + 105 − 84 = −119 .
Omdat een oplossing van dit stelsel steeds op een veelvoud van 420 na gegeven wordt, zijn
{… , − 119, 301, 721, 1141, …}
allemaal oplossingen van het stelsel. De vrouw had dus waarschijnlijk 301 eieren bij (maar het hadden er
ook 721 kunnen zijn).
Vraagstuk 2
Bij het vraagstuk van de tandraderen zijn de getallen 5, 7, 11 en 13 wel allemaal onderling relatief priem
en kunnen we rechtstreeks het algoritme in het bewijs toepassen. We hebben hier dat
n = 5 ⋅ 7 ⋅ 11 ⋅ 13 = 5005 . Nu bepalen we achtereenvolgens de verschillende waarden uit het bewijs:
1 = ( −200 )⋅ 5 + 1 ⋅ 1001
n1 = 5
m1 = 5005 / 5 = 1001
n2 = 7
m2 = 5005 / 7 = 715
n3 = 11
m3 = 5005 /11 = 455
n4 = 13
m4 = 5005 /13 = 385
1 = ( −102 )⋅ 7 + 1 ⋅ 715
1 = ( −124 )⋅ 11 + 3 ⋅ 455
1 = ( −148 )⋅ 13 + 5 ⋅ 385
u1 = 1001
u2 = 715
u3 = 1365
u4 = 1925
we bepalen dan de x door x = 0 ⋅ u1 + 0 ⋅ u2 + 0 ⋅ u3 + 1 ⋅ u4 uit te rekenen:
x = 1925
We moeten dus 1925 tikjes draaien om 2006 te veranderen in 2007. Ook hier zijn er nog andere
oplossingen mogelijk: 1925 − 5005 = −3080 geeft immers een andere oplossing. Na 3080 tikjes draaien in
de andere richting krijgen we ook 2007.
Opmerking 4.1 De oplossingsmethode hier kon ook nog erg ingekort worden door de twee stelsels op een
eenvoudigere manier te schrijven. Het stelsel uit vraagstuk 1 kon nog makkelijker geschreven worden als
x ≡ 1

x ≡ 0
(mod 60)
(mod 7)
en het stelsel uit vraagstuk 2 kon, analoog aan voorbeeld 3, ook geschreven worden als
x ≡ 0

x ≡ 1
(mod 385)
(mod13)
Opdracht 4.2 Herhaal vraagstuk 2, maar dan voor de overgang van 2099 naar 2100.
Uitwiskeling werktekst
15
Download