1次不定方程式の整数解と、互除法による解き方、解ける条件

どうも、木村(@kimu3_slime)です。

今回は、1次不定方程式の整数解とは何か、その互除法による解き方、解ける条件を紹介します。

 

1次不定方程式の整数解とは

20個のおはじきを、1袋に2個入る袋と、1袋に3個入る袋に分けたい、という問題を考えましょう。袋の数をそれぞれ\(x,y\)とすると、

\[2x +3y =20\]

という方程式を解くことになります。

一般に、\(a,b,c\)を定まった整数として、

\[ax+by=c\]

を満たす整数\(x,y\)を求める問題を1次不定方程式、またはディオファントス方程式(Diophantine equation)と呼びます。ディオファントスは古代の数学者で、紀元前から考えられてきた由緒ある問題です。

 

\(2x +3y =20\)程度の簡単な問題なら、答えを手探りで見つけることができます。適当に数を代入して試してみれば良いのです。

例えば、\(x=7,y=2\)は解ですね。方程式のひとつの解を、特殊解と呼びます。1次不定方程式の解は、ただひとつではありません。未知数を2つ\(x,y\)持つ場合、少なくとも2つの方程式がなければ、答えは唯ひとつに定まりません(2元連立1次方程式)。このような答えの定まらなさがあるから、不定方程式と呼ばれるわけですね。

特殊解\(x=7,y=2\)を手がかりに、一般の解を探してみましょう。\(x,y\)を一般の解とします。すると、\(2x+3y =20\)、\(2\cdot 7+ 3\cdot 2 =20\)が成り立ちます。一方の式からもう一方を引くと、\(2(x-7)=-3(y-2)\)です。右辺は\(3\)の倍数で、\(2\)は\(3\)の約数ではないので(\(2,3\)は互いに素)、\(x-7\)は\(3\)の倍数でなければなりません。つまり、\(x-7 =3k \)となる整数\(k\)が存在します。

\(x,y\)について整理すると、\(x= 3k+7\)で、\(y=-2k+2\)となりました。方程式のすべての解はこの形に表されるので、それを一般解と呼びます。最初に求めたのは\(k=0\)の特殊なケースだったというわけです。

一般解は、整数\(k\)が無限に存在するので、無限に存在します。しかし、例えば\(x,y\)それぞれが\(0\)以上\(x,y \geq 0\)であるという条件を課せば、\(k\)の範囲が絞り込めて、解の候補が有限個となります。今回の例ならば、\(x\geq 0\)から\(k \geq -2\)、\(y\geq 0\)から\(k \leq 1\)です。したがって、\((x,y)=(1,6),(4,4),(7,2),(10,0)\)が解となります。

 

互除法による解き方

1次不定方程式は、(解ける時は)ユークリッドの互除法によって解くことができます。

 

\(2016x +216 y =14400\)を解いてみましょう。さきほどのように、適当にあたりをつけるのは難しいのではないでしょうか。

そこで、係数\(a=2016,b=216\)にユークリッドの互除法を適用します。

\[2016 =9\cdot 216+72\]

\[216 = 3\cdot72+0\]

最大公約数は\(\mathrm{gcd}(2016,216)=72\)です。これを使って\(c=14400=200\cdot 72\)と分解できるので、この形を利用しましょう。上で得た式の両辺に\(200\)をかければ、

\[2016\cdot 200 =9\cdot 216 \cdot 200+72\cdot 200\]

\[2016\cdot 200 -216\cdot 1800=14400\]

なので、\(x=200,y=-1800\)は方程式\(2016x +216 y =14400\)の解です。特殊解が得られました。一般解の求め方は、さきほどと同様なので省略します。

 

別の例として、\(201x+80y=1\)を解いてみましょう。係数\(a=201,b=80\)に対して、ユークリッドの互除法を用います。

\[201 =2\cdot80 +41\]

\[80 = 1\cdot 41 +39\]

\[41 = 1\cdot39+2\]

\[39= 19\cdot 2 +1\]

\[2= 1\cdot2 +0\]

これらの式をたどっていくことで、\(201x+80y=1\)の形を生み出すことができます。

\[\begin{eqnarray}1 &=&39-19\cdot2\\ &=&39-19\cdot(41-39) \\&=&20\cdot(80-41)-19\cdot 41 \\ &=&20\cdot 80 -39\cdot 41 \\ &=&20\cdot 80 -39\cdot (201-2\cdot 80) \\&=&-39\cdot 201+98\cdot 80\end{eqnarray}\]

よって、\(x=-39,y=98\)が特殊解として得られました。

 

1次不定方程式が解ける条件

さて、互除法による解き方はなぜうまくいくのでしょうか。

そもそも、1次不定方程式\(ax+by=c\)はいつでも解ける(解を持つ)わけではありません。例えば、\(2x+2y=1\)には解が存在しません。左辺は偶数であり、右辺は奇数なので。

 

1次不定方程式が解ける条件として、次の定理が知られています。

\(d=\mathrm{gcd}(a,b)\)とする。\(ax+by=c\)が解を持つことと、\(d \mid c\)は同値。

まず、\(d \mid c\)を仮定して、\(ax+by=c\)が解を持つことを確かめましょう。

\(d =\mathrm{gcd}(a,b) \)と置きます。仮定より、\(c =kd \)となる整数\(k\)が存在します。ユークリッドの互除法より、\(a=q_1b+r_1\)、\(b=q_2r_1 +r_2\)、…、\(r_{n}=q_{n}r_{n+1}+0\)、\(r_{n}=d\)が成り立ちます。

ここで、すべての\(n\)に対し、\(ax_n+by_n=r_n\)を満たす整数\(x_n,y_n\)が存在することを示しましょう。数学的帰納法を用います。

  • \(n=1\)のとき、\(a=q_1b+d\)なので、\(a-q_1 b=d\)で\(x_0=1,y_0=-q_1\)とすれば良いです。
  • \(1 \leq n\leq k\)のとき、\(ax_k+by_k=r_k\)となる\(x_k,y_k\)が存在すると仮定します。\(n=k+1\)のとき、\(ax_{k+1}+by_{k+1}=r_{k+1}\)となる\(x_{k+1},y_{k+1}\)が存在することを示せば良いです。互除法の等式より、\(r_{k-1}=q_{k-1}r_{k}+r_{k+1}\)が成り立っています。仮定の式の両辺に\(q_{k-1}\)をかけると、\(ax_k q_{k-1} +by_k q_{k-1} = r_k q_{k-1}=r_{k-1}-r_{k+1}\)が成り立ちます。仮定より\(r_{k-1}=ax_{k-1}+by_{k-1}\)を用いて整理すると、
    \[\begin{eqnarray} r_{k+1}&=& -ax_k q_{k-1} -by_k q_{k-1}+r_{k-1}\\ &=&a(x_{k-1}-x_k q_{k-1})+b(y_{k-1}-y_k q_{k-1})\end{eqnarray}\]となり、\(x_{k+1}=x_{k-1}-x_k q_{k-1}\)、\(y_{k+1}=y_{k-1}-y_k q_{k-1}\)とすれば良いです。

示したことを元の議論に適用すると、\(ax_n+by_n=r_n\)を満たす整数\(x_n,y_n\)が存在します。互除法によって\(r_n =d\)であること、仮定より\(c =kd \)であることを思い出しましょう。\(ax_n+by_n=r_n\)に\(k\)をかければ、\(akx_n+bky_n =kr_n= kd =c\)が成り立ちます。よって、\(x=kx_n,y=ky_n\)とおけば、\(ax+by=c\)を満たすことがわかりました。

逆に、\(ax+by=c\)が解を持つならば、\(d \mid c\)でなければならないことを示しましょう。

\(x,y\)を\(ax+by=c\)を満たす整数と仮定します。\(d\)は最大公約数なので、\(a=d\ell\)、\(b=dm\)を満たす整数\(\ell ,m\)が存在します。すると、\(c=ax+by=d(x\ell+ym)\)で、\(x\ell+ym\)は整数です。よって、\(d \mid c\)が示せました。

 

少し長くなりましたが、簡単にまとめます。

そもそも1次不定方程式が解けるときは、右辺\(c\)が\(a,b\)の最大公約数の倍数となっていなければなりません。そうでないケースでは解が存在しません。このときは、互除法によっても当然解けません。

逆に、\(d \mid c\)のときは、互除法によって\(ax+by=c\)を満たす\(x,y\)を構成できることを確かめました。ポイントは、\(d=r_n =ax_n+by_n\)と表せることでした。最も簡単なケース\(n=1\)では、そもそも除法の原理は\(a=q_1b+d\)という形をしていて、これが1次不定方程式と見れます。そして等式の数が増える一般のケースでも、\(r_{k-1}=q_{k-1}r_{k}+r_{k+1}\)を使って、\(r_{k+1}\)を前の式と関連付けていくことで、\(a=q_1b+r_1\)まで戻ることができる。さらに余りには、\[\mathrm{gcd}(a,b)=\mathrm{gcd}(b,r_1)=\cdots \\= \mathrm{gcd}(r_{n-1},r_n)=\mathrm{gcd}(r_n,0)=r_n\]という関係が成り立っているので(互除法の原理)、結局は常に\(a,b\)でまとめられる、というわけでした。

 

以上、1次不定方程式の整数解と、互除法による解き方、解ける条件を紹介してきました。

後半は少し難しかったかもしれませんが、1次不定方程式と互除法が密接な関係にある、ということを感じてもらえたら嬉しいです。

木村すらいむ(@kimu3_slime)でした。ではでは。

 

Elementary Number Theory

Elementary Number Theory

posted with AmaQuick at 2021.02.16
Burton(著)
(2012T)
4.6outof5stars
¥5,437

 

はじめての数論 原著第3版 発見と証明の大航海‐ピタゴラスの定理から楕円曲線まで
Joseph H. Silverman(著), 鈴木 治郎(翻訳)
丸善出版 (2014-05-13T00:00:01Z)
4.4outof5stars
¥3,740

 

こちらもおすすめ

ユークリッドの互除法とは? 計算例、なぜうまくいくか

整数の除法、割り切れる・約数b|a、最大公約数gcdとは?

素数の性質:無限にあること、素因数分解の一意性と応用