GCD & EGCD¶
Euclids Algorithm¶
Note :
GCD¶
Source code : (python)
output
Penjelasan
EGCD¶
a.x + b.y = GCD(a, b)
def egcd(a, b):
print(a, b)
if a == 0 :
print('------')
print(a, b, '0', '1')
return b, 0, 1
gcd, x1, y1 = egcd(b%a, a)
x = y1 - (b//a) * x1
y = x1
print(a, b, x, y)
return gcd, x, y
print('(gcd, x, y) :',egcd(a,b))
output
210 118
118 210
92 118
26 92
14 26
12 14
2 12
0 2
------
0 2 0 1
2 12 1 0
12 14 -1 1
14 26 2 -1
26 92 -7 2
92 118 9 -7
118 210 -16 9
210 118 9 -16
(gcd, x, y) : (2, 9, -16)
Penjelasan
iter a b x y 0 0 2 0 1 1 2 12 1 0 2 12 14 -1 1 3 14 26 2 -1 4 26 92 -7 2 5 92 118 9 -7 6 118 210 -16 9 7 210 118 9 -16
karena nilai y merupakan nilai x sebelumnya, maka tinggal mencari nilai x