2 Cách tiếp cận sơ cấp giải phương trình nghiệm nguyê n
2.2.1 Dạng bậc nhất hai ẩn
Định lý 2.2.1. (xem [4]) Cho a, b, c ∈ Z sao cho ab 6= 0. Xét phương trình nghiệm nguyên bậc nhất
ax+ by = c (2.4)
với ẩn là x, y. Khi đó ta có
(i) Phương trình (2.4) có nghiệm khi và chỉ khi d = gcd(a, b) là ước của c. (ii) Nếu (x, y) = (x0, y0) là một nghiệm riêng của (2.4), thì mọi nghiệm nguyên của (2.4) có dạng
x = x0 + b
dt, y = y0 − a
dt với t ∈ Z. (2.5)
Chứng minh. (i) Nếu d - c, thì phương trình rõ ràng phương trình vô nghiệm. Nếu d | c, thì ta chia cả hai vế của (2.4) cho d; khi đó phương trình trở thành adx+ dby = dc trong đó gcd(ad, bd) = 1. Do đó ta chỉ cần xét phương trình nghiệm nguyên ở dạngax+by = ctrong đó gcd(a, b) = 1 (*); và ta chỉ cần tìm một biểu diễn của 1 dưới dạng một tổ hợp là tổ hợp tuyến tính với các hệ số nguyên của avà b. Đối với điều này, ta sử dụng thuật toán Euclide. Giả sử a = bq + r với q, r ∈ Z và 0≤ r < |b|; khi đó ta thấy gcd(a, b) = gcd(b, r). Để có tính hệ thống, ta đặt a = r−1 và b = r0 (giả sử a ≥ b), và xét dãy liên tiếp các phép chia và dư:
r−1 = r0q0 +r1, 0 ≤r1 < r0
r0 = r1q1 +r2, 0 ≤r2 < r1
r1 = r2q2 +r3, 0 ≤r3 < r2
r2 = r3q3 +r4, 0 ≤r4 < r3
Quá trình trên cuối cùng phải chấm dứt sau hữu hạn bước (vì phần dư càng ngày càng giảm
r−1 > r0 > r1 > r2 > · · · ,
và vẫn không âm). Nói cách khác là: tồn tại rn nào đó thỏa mãn rn | rn−1 và rn+1 = 0, tức là
...
rn−2 = rn−1qn−1 +rn, 0 ≤rn < rn−1
rn−1 = rnqn.
Từ đó, ta thu đượcrn = gcd (rn−1, rn) = gcd (rn−2, rn−1) =· · · = gcd (r−1, r0) = gcd(a, b). Bằng cách tính toán lùi ngược trở lại, ta có thể biểu diễn được rn dưới dạng một tổ hợp hệ số nguyên của a và b, chẳng hạn rn = xna+ynb.
Lúc đó một nghiệm riêng của phương trình (*) sẽ là (cxn, cyn). (ii) Ta có ax+by = a x0 + b dt +by0 − a dt = ax0 +by0 = c. Ngược lại nếu (x, y) là một nghiệm của phương trình thì ta có a(x−x0) =−b(y−y0). Do đó ad(x−x0) =−b
d(y −y0) với lưu ý gcd(ad,db) = 1. Suy ra tồn tại t ∈ Z để x−x0 = dbt, thay vào ta được y −y0 = −a
dt.