Professional Documents
Culture Documents
Extended Euclid
Extended Euclid
29 vs. 0
1914x + 899y = 29
1914 . 8 + 899. (-17) = 29
899 . (-1) + 116. 8 = 29
116. 1 + 87.(-1) = 29
87.0 + 29.1 = 29
29.1 + 0.0 = 29
Find x, y satisfy: 245x + 96y = 1
Solve ax + by = d, d = gcd(a, b)
Xuất phát từ nhận xét: gcd (a,b) = gcd (b, r) với r = a % b
Xét phương trình: a*x + b*y = gcd (a,b)
Ta có thể giả sử x1, y1 là nghiệm của phương trình:
b*x1 + (a % b) *y1 = gcd(a,b)
Đây chính là phương trình ở bước tiếp theo của giải thuật euclidean.
(b đóng vai trò a, và a%b đóng vai trò b trong hàm gcd(a, b))
Ta sẽ thay a % b = a – (a/b) * b để có phương trình
b*x1 + (a – (a/b) *b ) * y1 = gcd (a, b)
Khai triển ta được:
a * y1 + b * (x1 – (a/b) * y1) = gcd (a,b)
Applied problem
Suppose a housewife buys apples and oranges with cost of 8.39 USD.
An apple is 25 cents. An orange is 18 cents. How many of each fruit does she
buy?
25x + 18y = 839
a = 25, b = 18, extendedEuclid(25, 18) produces x = -5, y = 7, d = 1;
or 25 × (-5) + 18 × 7 = 1
25 × (-4195) + 18 × 5873 = 839.
Thus x = -4195 + (18/1)n and y = 5873 - (25/1)n.
x and y are non-negative so -4195 + 18n ≥ 0 and 5873 - 25n ≥ 0
4195/18 ≤ n ≤ 5873/25, or 233.05 ≤ n ≤ 234.92. n =234
Thus x = -4195 +18 × 234 = 17 and y = 5873 - 25 × 234 = 23