1変数k次方程式の整数解の絞り込み方
k次方程式
今日は、次の方程式の整数解を調べます。
ここで、上式は次数kの整数係数方程式とします。これの自然数解を探すことを考えてみましょう。
一般性を失わずに、全ての係数の最大公約数は1とできます。
定数項
の最大公約数をとすると、
となるので、がを割り切らなければ、整数解は存在しません。がを割り切るならば、整数を用いて、とかけますが、全ての係数の最大公約数は1なので、となります。
結局、
より、は定数項の正負を含めた約数のいずれかになります。
これで、だいぶ解の候補が絞り込めました。
と変数変換してみる
とおくと、新しい係数を用いて、
と書き直せます。ここで、
となりますが、は定数項の約数となります。
これで、さらに元の方程式の解の候補を絞り込めます。
と変数変換してみる
同様にして、とおくと、新しい係数を用いて、
と書き直せます。ここで、
となりますが、は定数項の約数となります。
適当なを選ぶことで、解の候補を絞り込める可能性があります。
不等式
を係数が全て正になるように移項して、
特に、最も大きな係数や次数を持つ項をとすると、
または、
等が成り立つので、これからの範囲を絞り込めます。
例
①
整数解の候補は定数項の約数なので、となり、これを代入して、が解であることがわかります。
②
整数解の候補は定数項の約数なので、となり、また、の変換を使うと、より、可能な候補はとの公約数となりますが、これはのみです。これを代入すると、いずれも成り立たないので、整数解はなしです。
③
の約数を代入することで、が解だとわかります。
④
の定数項は、で約数は12個。
となる。
移行して、
となるが、と仮定すると、
よりこれを満たす自然数は存在しないので、矛盾。
従って、正の整数解の候補は。実際に代入して、とわかる。
これより、与式はで割り切れるので、割ると、
を得る。とおいて、負の整数解を探す。式変形して、
また、
よって、負の整数解の候補は、である。このとき、を整数として、とおくと、
となり、矛盾。よって、 負の整数解の候補は、である。後は、代入して確かめると、のみが負の整数解であることがわかる。
以上をまとめて、求める整数解は、
Pythonのプログラム
gist5635a15b8de6db597b8ae45e72da2cac