Math Labs

Lớp 9

Phương trình nghiệm nguyên bậc nhất

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ờ 33 đồng và tờ 55 đồng và muốn trả đúng 88 đồng. Bạn cần một số nguyên tờ mỗi loại, tức là giải 3x+5y=83x+5y=8 với x,y≥0x,y\ge 0 nguyên — và quả thật x=1,y=1x=1,y=1 thỏa vì 3+5=83+5=8. Câu hỏi tổng quát "với những số nguyên a,b,ca,b,c nào thì ax+by=cax+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=83x+5y=8, viết thành y=−0.6x+1.6y=-0.6x+1.6. Nghiệm nguyên gồm (−4,4)(-4,4) và (1,1)(1,1) nằm trong cửa sổ, tiếp theo là (6,−2)(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=cax+by=c với các số nguyên a,b,ca,b,c và (a,b)≠(0,0)(a,b)\neq(0,0), mà ta tìm nghiệm (x,y)(x,y) với x,y∈Zx,y\in\mathbb{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)ax+by=c\qquad a,b,c\in\mathbb{Z},\ (a,b)\neq(0,0)

Không phải mọi lựa chọn a,b,ca,b,c đều cho phương trình giải được: 2x+4y=72x+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)d=\gcd(a,b): phương trình có nghiệm nguyên khi và chỉ khi d∣cd \mid c.

d=gcd⁡(a,b)∣c  ⟺  ∃ x,y∈Z: ax+by=cd=\gcd(a,b)\mid c \iff \exists\, x,y\in\mathbb{Z}:\ ax+by=c
Tính giải được của ax+by=cax+by=c
Điều kiệnCó nghiệm?Tập nghiệm
d∣cd \mid cCóVô hạn nghiệm: x=x0+bdt, y=y0−adtx=x_0+\frac{b}{d}t,\ y=y_0-\frac{a}{d}t
d∤cd \nmid cKhôngTập rỗng ∅\emptyset

Nâng caoĐịnh lý và chứng minh (vượt chương trình)

Với các số nguyên a,ba,b không đồng thời bằng 00, tồn tại các số nguyên u,vu,v sao cho au+bv=gcd⁡(a,b)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 aa và bb — sự kiện then chốt khiến tiêu chuẩn giải được của ax+by=cax+by=c hoạt động.

Chứng minh

Xét tập S={au+bv:u,v∈Z}∩Z>0S=\{au+bv : u,v\in\mathbb{Z}\}\cap\mathbb{Z}_{>0} gồm mọi tổ hợp nguyên dương thực sự của aa và bb. Vì a,ba,b không đồng thời bằng 00, SS khác rỗng (chứa ∣a∣|a| hoặc ∣b∣|b|), nên theo nguyên lý sắp thứ tự tốt, SS có phần tử nhỏ nhất d=au0+bv0>0d=au_0+bv_0>0.

Ta chứng minh d∣ad\mid a: chia a=qd+ra=qd+r với 0≤r<d0\le r<d. Khi đó r=a−qd=a−q(au0+bv0)=a(1−qu0)+b(−qv0)r=a-qd=a-q(au_0+bv_0)=a(1-qu_0)+b(-qv_0) chính là một tổ hợp nguyên của a,ba,b. Nếu r>0r>0 thì rr thuộc SS và nhỏ hơn dd, mâu thuẫn với tính nhỏ nhất; vậy r=0r=0, tức d∣ad\mid a. Lập luận y hệt với bb thay cho aa cho d∣bd\mid b.

Vì dd là ước chung của aa và bb, d≤gcd⁡(a,b)d\le \gcd(a,b). Ngược lại, mọi ước chung ee của aa và bb đều chia hết au0+bv0=dau_0+bv_0=d, nên e≤de\le d; lấy e=gcd⁡(a,b)e=\gcd(a,b) cho gcd⁡(a,b)≤d\gcd(a,b)\le d.

Kết hợp hai bất đẳng thức, d=gcd⁡(a,b)d=\gcd(a,b), và theo cách xây dựng d=au0+bv0d=au_0+bv_0, đó chính xác là đẳng thức Bézout với u=u0,v=v0u=u_0,v=v_0.

ax+by=cax+by=c có nghiệm nguyên khi và chỉ khi d∣cd \mid c với d=gcd⁡(a,b)d=\gcd(a,b); khi đó, nếu (x0,y0)(x_0,y_0) là một nghiệm, mọi nghiệm nguyên chính là x=x0+bdt,  y=y0−adt  (t∈Z)x=x_0+\dfrac{b}{d}t,\ \ y=y_0-\dfrac{a}{d}t\ \ (t\in\mathbb{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 tt cho ta mọi nghiệm khác — không cần đoán mò.

Chứng minh

(⇒\Rightarrow) Nếu (x,y)(x,y) là nghiệm nguyên thì d=gcd⁡(a,b)d=\gcd(a,b) chia hết cả axax và byby, nên chia hết ax+by=cax+by=c. Vậy d∣cd \mid c là điều kiện cần.

(⇐\Leftarrow) Giả sử d∣cd \mid c, viết c=dec=de. Theo đẳng thức Bézout tồn tại u0,v0u_0,v_0 với au0+bv0=dau_0+bv_0=d. Nhân với ee cho a(u0e)+b(v0e)=de=ca(u_0e)+b(v_0e)=de=c, nên (x0,y0)=(u0e, v0e)(x_0,y_0)=(u_0e,\,v_0e) 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)(x_0,y_0) và cho (x,y)(x,y) là một nghiệm khác bất kỳ. Trừ ax0+by0=cax_0+by_0=c khỏi ax+by=cax+by=c cho a(x−x0)+b(y−y0)=0a(x-x_0)+b(y-y_0)=0, tức a(x−x0)=−b(y−y0)a(x-x_0)=-b(y-y_0). Chia cả hai vế cho dd: ad(x−x0)=−bd(y−y0)\frac{a}{d}(x-x_0)=-\frac{b}{d}(y-y_0), và vì gcd⁡(a/d, b/d)=1\gcd(a/d,\,b/d)=1, thừa số bd\frac{b}{d} phải chia hết x−x0x-x_0 (một hệ quả chuẩn của tính nguyên tố cùng nhau: nếu p∣mnp\mid mn và gcd⁡(p,m)=1\gcd(p,m)=1 thì p∣np\mid n). Vậy x−x0=bdtx-x_0=\frac{b}{d}t với tt nguyên nào đó, và thay lại cho y−y0=−adty-y_0=-\frac{a}{d}t.

Ngược lại, với mọi số nguyên tt, thay x=x0+bdt, y=y0−adtx=x_0+\frac{b}{d}t,\ y=y_0-\frac{a}{d}t vào ax+byax+by cho ax0+by0+t(abd−abd)=c+0=cax_0+by_0+t\left(\frac{ab}{d}-\frac{ab}{d}\right)=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+bdt,  y=y0−adt  (t∈Z)x=x_0+\dfrac{b}{d}t,\ \ y=y_0-\dfrac{a}{d}t\ \ (t\in\mathbb{Z}).

Nâng caoỨng dụng thực tiễn và Ví dụ minh họa

Giải ax+by=cax+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=83x+5y=8

Tìm mọi nghiệm nguyên của 3x+5y=83x+5y=8, và nghiệm có xx không âm nhỏ nhất.

Lời giải

Chạy thuật toán Euclid: 5=1⋅3+25=1\cdot 3+2, 3=1⋅2+13=1\cdot 2+1, 2=2⋅1+02=2\cdot 1+0, nên gcd⁡(3,5)=1\gcd(3,5)=1, chia hết 88, nên phương trình có nghiệm.

Thế ngược: 1=3−1⋅2=3−1⋅(5−1⋅3)=2⋅3−1⋅51=3-1\cdot 2=3-1\cdot(5-1\cdot 3)=2\cdot 3-1\cdot 5. Nhân với 88: 2⋅3⋅8−1⋅5⋅8=8⋅12\cdot 3\cdot 8-1\cdot 5\cdot 8=8\cdot 1, tức 3⋅16+5⋅(−8)=83\cdot 16+5\cdot(-8)=8, cho một nghiệm (x0,y0)=(16,−8)(x_0,y_0)=(16,-8).

Theo định lý nghiệm tổng quát với d=1d=1, mọi nghiệm là x=16+5t, y=−8−3tx=16+5t,\ y=-8-3t với t∈Zt\in\mathbb{Z}. Chọn t=−3t=-3 cho x=16−15=1, y=−8+9=1x=16-15=1,\ y=-8+9=1, khớp với ví dụ tiền xu.

Trong mọi tt, x=16+5t≥0x=16+5t\ge 0 không còn đúng khi t≤−4t\le -4 (cho x=−4x=-4), nên xx không âm nhỏ nhất ứng với t=−3t=-3: (x,y)=(1,1)(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=7e=7 và φ(n)=40\varphi(n)=40, tìm số mũ bí mật dd thỏa 7d≡1(mod40)7d\equiv 1\pmod{40}.

Lời giải

Đồng dư 7d≡1(mod40)7d\equiv 1\pmod{40} tương đương phương trình nghiệm nguyên bậc nhất 7d−40k=17d-40k=1 với kk nguyên nào đó.

Thuật toán Euclid: 40=5⋅7+540=5\cdot 7+5, 7=1⋅5+27=1\cdot 5+2, 5=2⋅2+15=2\cdot 2+1, 2=2⋅1+02=2\cdot 1+0, nên gcd⁡(7,40)=1\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⋅71=5-2\cdot 2=5-2\cdot(7-1\cdot 5)=3\cdot 5-2\cdot 7=3\cdot(40-5\cdot 7)-2\cdot 7=3\cdot 40-17\cdot 7. Vậy 7⋅(−17)+40⋅3=17\cdot(-17)+40\cdot 3=1, cho d≡−17(mod40)d\equiv -17\pmod{40}.

Rút về khoảng chuẩn: d≡−17+40=23(mod40)d\equiv -17+40=23\pmod{40}. Kiểm tra: 7×23=161=4×40+17\times 23=161=4\times 40+1, xác nhận d=23d=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)d=\gcd(a,b) quyết định ax+by=cax+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)(x_0,y_0) là nghiệm của ax+by=cax+by=c với d=gcd⁡(a,b)d=\gcd(a,b), nghiệm tổng quát là x=x0+bdtx=x_0+\frac{b}{d}t và y=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?

Tài liệu tham khảo

  1. Wikipedia contributors (2024). Bézout's identity
  2. G. H. Hardy, E. M. Wright (2008). An Introduction to the Theory of Numbers