以下の問題について考えます。

問題

2x+5y=1 ・・・①

という方程式の整数解を求めよ。


これは、
なにか一個解を気合いで探してきて(こういう解を“特殊解”という)、
辺々引いて1を消して解くのでした。

たとえば(x,y)=(-2,1)は解の一つ(特殊解です)なので、

 2・(-2)+5・1=1 ・・・②

が成り立ちます。①-②をすると、

 2(x+2)+5(y-1)=0

となります。変形して、

 2(x+2)=-5(y-1)

右辺が5の倍数より、

 x=-5k-2 (kは整数)

①に代入して

 5y=1-2(-5k-2)
  y=2k+1

kがどんな整数であったとしても、このx,yは①を満たすので、
すべての整数kで、このx、yは①の解です。よって、答えは

 (x,y)=(-5k-2,2k+1) kはすべての整数

となります。


こうして、特殊解を使って解けるのですが、
この問題を、グラフの平行移動を使って解くこともできます。


問題

2x+5y=1 ・・・①

という方程式の整数解を求めよ。


まず、右辺を0にした

 2x+5y=0・・・③

という方程式を考えます。

 2x=-5y

より、右辺が5の倍数だから

 x=5k (kは整数)

③に代入して、

 y=-2k

すべての整数kで、このx,yは、③の解です。

この状況をグラフで見ると(下図)、
直線2x+5y=0の格子点が(5k,-2k)(kは整数)だということです。

(縮尺の関係で、上図の格子はx、yともに偶数のところしか引いてないので注意。)

ところで、問題で聞かれているのは、
直線2x+5y=1の格子点です。

直線2x+5y=0を平行移動して直線2x+5y=1に重ねましょう。

どれだけ平行移動すればいいかというと、

 2(x-p)+5(y-q)=1

となるようなp,qを頑張って見つけて、
x軸方向にp、y軸方向にqだけ平行移動すればよいです。

 p=-2,q=1

とするとうまくいきます。

他の値でも、たとえばp=3,q=-1などでもOKです。
これが、最初にやった解法の“特殊解”を見つける作業に相当します。

グラフで見ておくと、

赤線に沿って平行移動しています。
(また縮尺の関係で、升目は1/2区切りになっています。)

平行移動する前の直線上の点を(x,y)、
平行移動した後の直線上の点を(x',y')とすると、

 2x+5y=0
 2x'+5y'=1 ( 2(x'-p)+5(y'-q)=1 )

であり、

 x=x'-p,y=y'-q ・・・④

の関係があります。④より

「x,yが整数」⇔「x',y'が整数」

なので、さっき求めた方程式③の解を使って、

 x'=x+p=5k-2
 y'=y+q=-2k+1

が求める解となります。

ちなみに、p、qは他の値を使っても同じ答えが出てきます。
式としては一見違う形でも、k=…,-1,0,1,2…を代入して
解全体を見れば同じです。



最後に、

今回は2x+5y=1という方程式を扱いましたが、

2、5の部分は「互いに素な整数」なら同じ解法が使えます。

また右辺の1も、“特殊解”や“どれだけ平行移動したらよいか”さえ
発見できるならどんな整数でも大丈夫です。