Các phương trình bậc nhất mà ta chỉ tìm nghiệm nguyên.
Trực giácTrực giác: trả đúng một số tiền bằng hai loại mệnh giá
Giả sử bạn chỉ có tờ 3 đồng và tờ 5 đồng và muốn trả đúng 8 đồng. Bạn cần một số nguyên tờ mỗi loại, tức là giải 3x+5y=8 với x,y≥0 nguyên — và quả thật x=1,y=1 thỏa vì 3+5=8. Câu hỏi tổng quát "với những số nguyên a,b,c nào thì ax+by=c có nghiệm nguyên, và làm sao tìm mọi nghiệm?" chính là lý thuyết phương trình nghiệm nguyên bậc nhất.
Đường thẳng y = -0.6x + 1.6; nghiệm nguyên gồm (-4,4), (1,1) và (6,-2). Các điểm được nêu trong mô tả, không được đánh dấu riêng.
Đường thẳng 3x+5y=8, viết thành y=−0.6x+1.6. Nghiệm nguyên gồm (−4,4) và (1,1) nằm trong cửa sổ, tiếp theo là (6,−2) ở ngoài; đồ thị vẽ đường thẳng và trục, không đánh dấu riêng từng điểm nguyên.
Phổ thôngĐịnh nghĩa và tiêu chuẩn chia hết
Định nghĩa: Phương trình nghiệm nguyên bậc nhất hai ẩn
Một phương trình ax+by=c với các số nguyên a,b,c và (a,b)=(0,0), mà ta tìm nghiệm (x,y) với x,y∈Z, được gọi là phương trình nghiệm nguyên bậc nhất.
ax+by=ca,b,c∈Z,(a,b)=(0,0)
Không phải mọi lựa chọn a,b,c đều cho phương trình giải được: 2x+4y=7 vô nghiệm, vì vế trái luôn chẵn. Tiêu chuẩn chính xác liên quan đến d=gcd(a,b): phương trình có nghiệm nguyên khi và chỉ khi d∣c.
Với các số nguyên a,b không đồng thời bằng 0, tồn tại các số nguyên u,v sao cho au+bv=gcd(a,b).
Vì sao đúng?
Nó cho thấy ước chung lớn nhất không chỉ là "thừa số chung lớn nhất" mà thực sự đạt được như một tổ hợp nguyên của a và b — sự kiện then chốt khiến tiêu chuẩn giải được của ax+by=c hoạt động.
Chứng minh
Xét tập S={au+bv:u,v∈Z}∩Z>0 gồm mọi tổ hợp nguyên dương thực sự của a và b. Vì a,b không đồng thời bằng 0, S khác rỗng (chứa ∣a∣ hoặc ∣b∣), nên theo nguyên lý sắp thứ tự tốt, S có phần tử nhỏ nhất d=au0+bv0>0.
Ta chứng minh d∣a: chia a=qd+r với 0≤r<d. Khi đó r=a−qd=a−q(au0+bv0)=a(1−qu0)+b(−qv0) chính là một tổ hợp nguyên của a,b. Nếu r>0 thì r thuộc S và nhỏ hơn d, mâu thuẫn với tính nhỏ nhất; vậy r=0, tức d∣a. Lập luận y hệt với b thay cho a cho d∣b.
Vì d là ước chung của a và b, d≤gcd(a,b). Ngược lại, mọi ước chung e của a và b đều chia hết au0+bv0=d, nên e≤d; lấy e=gcd(a,b) cho gcd(a,b)≤d.
Kết hợp hai bất đẳng thức, d=gcd(a,b), và theo cách xây dựng d=au0+bv0, đó chính xác là đẳng thức Bézout với u=u0,v=v0.
ax+by=c có nghiệm nguyên khi và chỉ khi d∣c với d=gcd(a,b); khi đó, nếu (x0,y0) là một nghiệm, mọi nghiệm nguyên chính là x=x0+dbt,y=y0−dat(t∈Z).
Vì sao đúng?
Nó giải quyết trọn vẹn bài toán: chỉ một phép kiểm tra chia hết quyết định tính giải được, và khi đã có một nghiệm bất kỳ, một họ một tham số theo t cho ta mọi nghiệm khác — không cần đoán mò.
Chứng minh
(⇒) Nếu (x,y) là nghiệm nguyên thì d=gcd(a,b) chia hết cả ax và by, nên chia hết ax+by=c. Vậy d∣c là điều kiện cần.
(⇐) Giả sử d∣c, viết c=de. Theo đẳng thức Bézout tồn tại u0,v0 với au0+bv0=d. Nhân với e cho a(u0e)+b(v0e)=de=c, nên (x0,y0)=(u0e,v0e) là một nghiệm nguyên. Điều này chứng minh tính giải được.
Bây giờ cố định một nghiệm (x0,y0) và cho (x,y) là một nghiệm khác bất kỳ. Trừ ax0+by0=c khỏi ax+by=c cho a(x−x0)+b(y−y0)=0, tức a(x−x0)=−b(y−y0). Chia cả hai vế cho d: da(x−x0)=−db(y−y0), và vì gcd(a/d,b/d)=1, thừa số db phải chia hết x−x0 (một hệ quả chuẩn của tính nguyên tố cùng nhau: nếu p∣mn và gcd(p,m)=1 thì p∣n). Vậy x−x0=dbt với t nguyên nào đó, và thay lại cho y−y0=−dat.
Ngược lại, với mọi số nguyên t, thay x=x0+dbt,y=y0−dat vào ax+by cho ax0+by0+t(dab−dab)=c+0=c, xác nhận mọi cặp như vậy đều là nghiệm. Vậy tập nghiệm chính xác là x=x0+dbt,y=y0−dat(t∈Z).
Nâng caoỨng dụng thực tiễn và Ví dụ minh họa
Giải ax+by=c không chỉ là bài tập trên lớp: thuật toán Euclid mở rộng tạo ra các hệ số Bézout chính là thứ tìm nghịch đảo modulo trong việc sinh khóa RSA, và cùng lập luận về điểm nguyên đó nằm sau cách các thuật toán đồ họa máy tính (như vẽ đường thẳng Bresenham) quyết định đường thẳng đi qua những điểm ảnh nguyên nào.
Ví dụ: Giải trọn vẹn 3x+5y=8
Tìm mọi nghiệm nguyên của 3x+5y=8, và nghiệm có x không âm nhỏ nhất.
Lời giải
Chạy thuật toán Euclid: 5=1⋅3+2, 3=1⋅2+1, 2=2⋅1+0, nên gcd(3,5)=1, chia hết 8, nên phương trình có nghiệm.
Thế ngược: 1=3−1⋅2=3−1⋅(5−1⋅3)=2⋅3−1⋅5. Nhân với 8: 2⋅3⋅8−1⋅5⋅8=8⋅1, tức 3⋅16+5⋅(−8)=8, cho một nghiệm (x0,y0)=(16,−8).
Theo định lý nghiệm tổng quát với d=1, mọi nghiệm là x=16+5t,y=−8−3t với t∈Z. Chọn t=−3 cho x=16−15=1,y=−8+9=1, khớp với ví dụ tiền xu.
Trong mọi t, x=16+5t≥0 không còn đúng khi t≤−4 (cho x=−4), nên x không âm nhỏ nhất ứng với t=−3: (x,y)=(1,1).
Ví dụ: Sinh khóa RSA: tìm nghịch đảo modulo
Trong RSA với số mũ công khai e=7 và φ(n)=40, tìm số mũ bí mật d thỏa 7d≡1(mod40).
Lời giải
Đồng dư 7d≡1(mod40) tương đương phương trình nghiệm nguyên bậc nhất 7d−40k=1 với k nguyên nào đó.
Thuật toán Euclid: 40=5⋅7+5, 7=1⋅5+2, 5=2⋅2+1, 2=2⋅1+0, nên gcd(7,40)=1, xác nhận nghịch đảo tồn tại.
Thế ngược: 1=5−2⋅2=5−2⋅(7−1⋅5)=3⋅5−2⋅7=3⋅(40−5⋅7)−2⋅7=3⋅40−17⋅7. Vậy 7⋅(−17)+40⋅3=1, cho d≡−17(mod40).
Rút về khoảng chuẩn: d≡−17+40=23(mod40). Kiểm tra: 7×23=161=4×40+1, xác nhận d=23 là số mũ bí mật RSA đúng cho khóa minh họa này.
Điều kiện nào trên d=gcd(a,b) quyết định ax+by=c có nghiệm nguyên hay không?
Đẳng thức Bézout đảm bảo sự tồn tại của những số nguyên nào?
Nếu (x0,y0) là nghiệm của ax+by=c với d=gcd(a,b), nghiệm tổng quát là x=x0+dbt và y= ?
Thuật toán Euclid mở rộng dùng để giải phương trình nghiệm nguyên bậc nhất cũng là phương pháp chuẩn để tính đại lượng mật mã nào?