(Linear Diophantine equations)
(Stand: Mail 2007,
© Axel Wagner)
Hinweise
Diese Materialien entstehen im Rahmen des Schulversuchs Informatik in der Sekundarstufe I
Am Saarpfalz-Gymnasium
Homburg und am Albert-Einstein-Gymnasium Völklingen startet ab dem Schuljahr
2005/06 ein Informatikzweig
mit 5 Unterrichtsstunden in Klasse 8 und jeweils 4 Unterrichtsstunden in den
Klassen 9 und 10.
Die Inhalte stammen aus folgenden Bereichen: Grundlagen, Zahlensysteme, Teilbarkeit, Euklidischer Algorithmus und Vielfachsummen, diophantische Gleichungen, Kongruenzrechnung, Gruppen (diskrete Mathematik), Programmieren, einfache Verschlüsselungsverfahren und Robotik.
Rückmeldungen bitte an awainf(at)saarpfalz-gymnasium.de
Quellen/Links
http://www.zum.de/Faecher/Materialien/dorner/manuskripthtml/index.html
http://www.gap-system.org/~history/
Porträt: Diophant von Alexandrien

Aufgabe
Es stehen als Münzen 2Cent-Stücke und 5Cent-Stücke zur Verfügung.
Wie viele verschiedene Möglichkeiten gibt es, daraus einen Betrag von 1€
zusammenzustellen?
Hausaufgabe: Mit 5 Cent und 10 Cent (5 Cent und 20 Cent)
x = Anzahl der 2Cent-Stücke und 0 <= x <=
50
y = Anzahl der 5Cent-Stücke und 0 <= y <=
20
2x + 5y = 100
Gesucht: Alle ganzzahligen Lösungen >=0 (11 Lösungen)
Lösungen erraten lassen & in ein Koordinatensystem eintragen lassen.
x-Achse: 1 entspricht 0,5cm; y-Achse: 1 entspricht 0,5 cm

Erstellen des Diagramms mit OpenOffice
A |
B |
|
| 1 | 0 |
20 |
| 2 | 1 |
* |
| 3 | 2 |
* |
| 4 | 3 |
* |
| 5 | 4 |
* |
| 6 | 5 |
18 |
| 7 | 6 |
* |
| 8 | 7 |
* |
| 9 | 8 |
* |
| 10 | 9 |
* |
| 11 | 10 |
16 |
| 12 | 11 |
* |
Die Formel in Spalte B lautet (Zeile 1): =WENN((GANZZAHL(-2/5*A1+20)=-2/5*A1+20);-2/5*A1+20;"*")
Eigenschaften:
Definition
Lineare diophantische Gleichungen haben die Form ax + by = c mit a, b, c ∈
Z
Die gesuchten Lösungen sind Paare (x; y) ∈ Z2
Das Schaubild einer diophantischen Gleichung besteht aus ganzzahligen Gitterpunkten ∈ Z2, die auf einer Geraden liegen.
Auflösen nach y liefert die Gleichung einer Geraden: y = -2/5x + 20
Weitere Beispiele Bestimme zeichnerisch ganzzahlige Lösungen
x + 5y = 12 --> y = -1/5x + 12/5
x + 5y = 24 --> y = -1/5x + 48/10
1x - 1y = 7 --> L= { (8; 1), (9; 2), (10; 3), ......}
x + 2y = 1
Da für die Gleichung 2x + 7y = 1 der ggT(2 ,7) = 1 ist, existiert eine Vielfachsumme:
2*4 + 7*(-1) = 1
Welchen Rest lässt die linke Seite bei der Divisionszahl 7?
Es folgt: 2*4 ≡ 1 mod 7, d.h. 4 ist modulares Inverses zur 2 (modulo 7).
Aufgaben
Bestimme mit Hilfe des Berlekamp-Algorithmus Lösungen zu
ax + ny = 1 und zeige, dass ax ≡ 1 mod n
(a) 2x -5y = 1 (b) 4x +10y = 1 (c)
3x +9y = 1 Warum
existieren für (b) und (c) keine Lösungen?
Satz
Die Gleichung ax + ny = 1 ist lösbar genau
dann, wenn ggT(a; n) = 1
Beweis
"-->" Seien a' und b'
Lösungen von ax + ny = 1 (*)
Für d = ggT(a; b) folgt d | ax + ny und damit gilt d | 1.
Dies ist aber nur für d = 1 möglich.
"<--" Nach dem Berlekamp-Algorithmus
gilt: Es gibt a' und n' aus Z
mit aa' + nn' = 1, d.h. (*) ist lösbar!
Wir suchen alle Lösungen
Beispiel: 5x + 16n = 1 (x0; y0) = (-3; 1) ,
dann sind auch (x0 + kn; y0 - ka), k aus Z,
Lösungen (*)
Sind dies auch alle Lösungen? Ja!
Begründung
Ist (x1; y1) eine weitere Lösung, dann folgt:
ax1 + ny1 = 1 und natürlich auch ax0 + ny0 = 1.
Gleichsetzen der beiden rechten Seiten liefert
ax1 + ny1 = ax0 + ny0
a(x1 - x0) = n(y0 - y1)
bzw. (x1 - x0) / (y0 - y1) = n/a
Wegen ggT(a; n) =1 steht rechts ein gekürzter Bruch.
Daraus folgt: (x1 - x0) = k*n und (y0 - y1) = k*a mit k ∈ Z
Wir erhalten also alle Lösungen der Gleichung (*): x1 = x0
+ kn und y1 = y0 - ka, k ∈ Z
Beispiel
Finde alle Lösungen von 5x+16n = 10 (*)
Das 10-fache der Lösung (x0 ; y0) der Gleichung 5x + 16n = 1 muss die
Gleichung (*) lösen,
d.h.
10* (x0; y0) = (-30; 10)
Probe: -30*5 + 16*10 = 10
Alle Lösungen von 5x + 16n = 10 haben die Form (-30 + k*16; 10 - k*5).
Zusammenfassung
Gilt ggT(a ; n) = 1, so findet man alle Lösungen der Gleichung ax + ny
= c wie folgt:
Weitere Beispiele
1x + 5n = 1 2x + 5n = 1 3x + 5n = 1 4x + 5n = 1
3x + 6y = 5 3x + 6y = 6 4x + 8y = 11 12x + 8y = 16 --> geteilt durch 4: 3x + 2y = 4
Die Ergebnisse führen zu folgendem Satz :
Es sind a, b, c ∈ N
die Gleichung ax + by = c ist lösbar
genau
dann wenn
die Zahl c ist ein Vielfaches von d = ggT(a , b)
Beweis
" ⇐" c ist ein Vielfaches von d: c = d*c'
Nach dem BA gilt: Es gibt a' und b' (b' aus Z) mit aa' + bb'
= d
Nach Multiplikation mit c' folgt: a(c'a') + b(c'b') = c'd = c
"⇒" Seien a' und b' Lösungen von ax + by = c (*)
Wegen d = ggT(a; b) folgt: d | ax + by und
damit gilt d | c
Das Applet wurde mit Eclipse
3.1, dem Designer Jigloo
GUI Builder und Java5 entwickelt.
Informatik Sek. 1