Het Euclidisch Algoritme.
Dit algoritme is oorspronkelijk door Euclides verzonnen om de grootste Gemene Deler (GGD) van 2 getallen te vinden.
De werking is gebaseerd op twee vrij logische grondregels:
1.   Als a deler is van b dan is GGD(a,b) = a
2. Als a = b• m + n dan is  GGD(a, b) = GGD(b , n

De tweede regel maakt het mogelijk om de twee getallen steeds kleiner te maken tot we de situatie vinden waarin de ene een deler is van de andere. Dan zegt regel 1 dat we de gezochte GGD hebben gevonden. 
Een voorbeeldje zal een boel duidelijk maken, denk ik:

Stel we zoeken de GGD van a = 2322 en b = 654
2322 = 654 • 3 + 360
654 = 360 • 1 + 294
360 = 294 • 1 + 66 
294 = 66 • 4 + 30
66 = 30 • 2 + 6
30 = 5 • 6

Conclusie: de GGD van 2322 en 654 is 6.
Dat principe van "steeds zoveel mogelijk keer de ene van de andere aftrekken" kunnen we ook gebruiken om van een gewone breuk een kettingbreuk te maken, of om een rechthoek in vierkanten te verdelen. Dat gaat z๓:

Terug naar ons oorspronkelijke probleem.


Stel we zoeken gehele oplossingen van de vergelijking  37x + 20y = 1209.

Trek eerst overal zoveel mogelijk keer 20 van af. Van 37x en 20y gaat dat 1 keer, van 1209 gaat dat 60 keer:

17x + 20•(x + y - 60) = 9

Noem het getal tussen haakjes a, dan houden we over:    20a + 17x = 9   en   a = x + y - 60

Dit is een zelfde vergelijking als de oorspronkelijke, alleen met kleinere co๋ffici๋nten. Laten we daarom dezelfde truc nog een keer toepassen. Het kleinste getal is 17 geworden, dus nu trekken we overal zo vaak mogelijk 17 van af:

17•(a + x) + 3a = 9

Noem het getal tussen haakjes b, dan houden we over:  17b + 3a = 9 en  b = a + x

Deze stappen een aantal keer herhalen geeft achtereenvolgens:

37x + 20y = 1209
20a + 17x = 9
  
17b + 3a = 9
3c + 2b = 0
2d + c = 0

en   a = x + y - 60    (1)
en   b = a + x           (2)
en  
c = 5b + a - 3    (3)
en   d = c + b           (4)
We hebben nu rechts een stelsel van 4 vergelijkingen met 5 onbekenden. Gebruik nu de laatste rode vergelijking om terug te gaan substitueren.
c = -2d  levert  in (4) dat   b = 3d
Samen geeft dat in (3) dat  a =  -17d + 3
Dat geeft in (2)  dat  x = 20d - 3
Dat geeft in (1)  dat  y = -37d + 66 

En daarmee hebben we ineens oneindig veel oplossingen gevonden. Kies maar een d en je hebt een x en een y volgens:
x = 20d - 3
y = -37d + 66


bijvoorbeeld:  d = 5 levert x = 97 en y = -119  en inderdaad  geldt   37 • 97 + 20 • -119 = 1209
bijvoorbeeld:  d = 1  levert x = 17 en y = 29 en inderdaad geldt  37 • 17 + 20 • 29 = 1209