不定方程式・その1 導入から基本解法パターンまで
不定方程式 導入
\(x,y\) に関する \(2\) 元 \(1\) 次方程式 \(ax+by=1\) の整数解を求めましょう。
ただし、\(a,b\) ともに整数であるとします。
具体例で考えましょう。
\(a=2,b=7\) のとき
\(2x+7y=1\)
未知数が \(x,y\) と \(2\) つあるのに、式が \(1\) つなので、この \(2\) 元 \(1\) 次方程式の解は、もちろん無限にあります。解が定まらないため、不定方程式とも呼ばれます。
この不定方程式の解の中で、\(x\) も \(y\) も整数となる解を求めます(これが整数解です)。
整数解ももちろん無限にあるのですが、とにかく \(1\) つ見つけましょうと言われれば、あてはめで探せばすぐに見つかりますね。
\(x=4,y=-1\) です。
\((x,y)=(4,-1)\) とも表記します。
不定方程式の解は、1つ見つかれば芋づる式
先の不定方程式
\(2x+7y=1\)
の整数解を、\((x,y)=(4,-1)\) をもとにすべて求めます。
仕組みは非常に簡単で、\(x\) は \(7\) ずつ、\(y\) は \(2\) ずつずらしていくのです。
\((x,y)=(4+7,-1-2)=(11,-3)\)
\((x,y)=(11+7,-3-2)=(18,-5)\)
と無限に続きます。
この \(7\) と \(2\) はどこからやってきたのかと言えば、不定方程式 \(2x+7y=1\) の \(x,y\) の係数からです。\(2x\) の項を増やした分と、\(7y\) の項の減らした分が等しくないといけません。
\(14\) ずつずらすことになりますから、\(x\) は \(7\) ずつ、\(y\) は \(2\) ずつずらします。
この \(x,y\) は、ともに等差数列であり、\(t\) を整数として、
\(x=7t+4\)
\(y=-2t-1\)
と表せます。
\(t=0\) のとき、\((x,y)=(4,-1)\)
\(t=1\) のとき、\((x,y)=(11,-3)\)
\(t=2\) のとき、\((x,y)=(18,-5)\)
とうまく表せていますね。
もちろん
\(t=-1\) のとき、\((x,y)=(-3,1)\)
のように \(t\) が負のときもOKです。
記述式答案としてまとめる
先ほど見た芋づる式に解を見つける方法ですが、記述式答案としてまとめるさいは、
以下のように書くのがスマートです。
\(2\cdot4+7(-1)=1\)
という解が見つかったら、もとの不定方程式と差をとります。
つまり、
\(2x+7y=1\)
\(2\cdot4+7(-1)=1\)
上式から下式を引くと
\(2(x-4)+7(y+1)=0\)
より
\(2(x-4)=-7(y+1)\)・・・(1)
\(2\) と \(7\) は互いに素なので、\((x-4)\) は \(7\) の倍数、\((y+1)\) は \(2\) の倍数であることがわかります。
\((x-4)\) は \(7\) の倍数であることは、整数 \(t\) を用いて
\(x-4=7t\)・・・(2)
と表せます。
(1)に代入すると、
\(2\cdot 7t=-7(y+1)\)
\(2t=-(y+1)\)
より、
\(y+1=-2t\)・・・(3)
したがって、(2)、(3)より
\(x=7t+4\)
\(y=-2t-1\)
これが一般解となります。
整数解がない場合もある
不定方程式には解が無限にある、と見てきましたが、そもそも解が \(1\) つもないケースもあります。
例えば
\(4x-2y=1\)
この式を満たす解は無限にありますが、整数解は \(1\) つもありません。
\(x,y\) ともに整数ならば、左辺は常に偶数であり、決して右辺の \(1\) と等しくなりません。
どのようなときに不定方程式は整数解を持つのか。次のことが成り立ちます。
\(ax+by=1\) が整数解をもつ ⇔ \(a,b\) は互いに素
なぜこれが成り立つのか、については直接は書きませんが、次の「ユークリッドの互除法による不定方程式の解法」からおよそ雰囲気はわかることでしょう。
とりあえず上の事実を丸暗記しておきましょう。
ユークリッドの互除法による不定方程式の解法
先ほどの例では、とりあえず解を \(1\) つ見つけることが容易でした。
では次の例ではどうでしょう。
\(145x+67y=1\)
この不定方程式の整数解を求めましょう。
まず \(1\) つ解が見つかれば良いのですが、なかなか苦しいですね。
このようなときは、ユークリッドの互除法による手順が確立されています。
何はともあれその手順を見せると
\(145÷67=2\) あまり \(11\)
\(67÷11=6\) あまり \(1\)
次に \(11÷1=11\) あまり \(0\) で、 \(145\) と \(67\) の最大公約数が \(1\) であると求まるのがユークリッドの互除法ですが、今回は不定方程式を解くのが目的でしたね。
あまりが \(1\) になったところで、この操作を逆にたどります。
まず、ユークリッドの互除法の際に行ったわり算を、書き直します。
\(145÷67=2\) あまり \(11\) \(\Rightarrow\) \(11=145-67×2\)・・・(1)
\(67÷11=6\) あまり \(1\) \(\Rightarrow\) \(1=67-11×6\)・・・(2)
このように、
「あまり\(=\)」 の式になおします。
さて、(2)の式です。
\(1=67-11×6\)・・・(2)
左辺の \(1\) を \(145\) と \(67\) を組みあわせて作りたいのですが・・・
(1)式を使えば可能ですね。
\(67-\)\(11\)\(×6=1\)
この \(11\) は、\(145\) と \(67\) を用いて表せます。
\(67-\)\((145-67×2)\)\(×6=1\)
つまり、
\(67-(145×6-67×12)=1\)
\(67×13-145×6=1\)
これこそが、\(145x+67y=1\) の整数解の一つです。
\(x=-6\)
\(y=13\)
が見つかりました。
あとは芋づる式にわかりますね。
\(t\) を整数として
\(x=67t-6\)
\(y=-145t+13\)
これが一般解です。
例題1
不定方程式 \(43x+19y=1\) の整数解を求めなさい。
解説
直感的に解が \(1\) つ見つかればそれで良いのですが・・・
あてはめで探してすぐに見つかればそれで良いのですが・・・
すぐに見つからなそうなら、ユークリッドの互除法ですね。
\(43÷19=2\) あまり \(5\)
\(19÷5=3\) あまり \(4\)
\(5÷4=1\) あまり \(1\)
あまりが \(1\) になりました。
上の \(3\) つの式を、「あまり\(=\)」 の式になおします。
\(43÷19=2\) あまり \(5\) \(\Rightarrow\) \(5=43-19×2\)
\(19÷5=3\) あまり \(4\) \(\Rightarrow\) \(4=19-5×3\)
\(5÷4=1\) あまり \(1\) \(\Rightarrow\) \(1=5-4×1\)
さて、主役は \(43\) と \(19\) です。
あまりとして出た \(4\) や \(5\) を代入していけばOKです。
\(1=5-4×1\) の \(4\) に \(4=19-5×3\) を代入します。
\(1=5-(19-5×3)×1\)
整理すると
\(1=5×4-19×1\)
次にこの \(5\) に \(5=43-19×2\) を代入します。
\(1=(43-19×2)×4-19×1\)
整理すると
\(1=43×4-19×9\)
より、
\(x=4\)
\(y=-9\)
が求まりました!
解が \(1\) つ見つかればあとはわかりますね。
\(x\) は \(y\) の係数 \(19\) ずつ、\(y\) は \(x\) の係数 \(43\) ずつずらします。
\(x\) は \(19\) 足せば、\(y\) は \(43\) 減らします。
よって、\(t\) を整数として、
\(x=19t+4\)
\(y=-43t-9\)
これが求める一般解です。
参考・記述答案用の式処理
\(43x+19y=1\)
\(43×4+19×(-9)=1\)
上から下を引くと
\(43(x-4)+19(y+9)=0\)
\(43(x-4)=-19(y+9)\)・・・(1)
\(43\) と \(19\) は互いに素なので、\(x-4\)は \(19\) の倍数。
これは \(t\) を整数として
\(x-4=19t\) と表せる。
これを(1)に代入すると、
\(43\cdot19t=-19(y+9)\)
\(43t=-(y+9)\)
\(y=-43t-9\)
よって、\(t\) を整数として、
\(x=19t+4\)
\(y=-43t-9\)
これが求める一般解です。