任意の数の未知数を持つ線形ディオファンタス方程式を解く

画像






親愛なる読者の皆さん、こんにちは! 数学に関するアマチュアの一連の記事を続けます。





今日、私はいくつかの興味深い数学的問題について考えることを提案します。

つまり、次のウォームアップの線形方程式を解きましょう。

5a + 8b + 3c + 2d = 17 $







「何がそんなに複雑なの?」あなたは尋ねます。 実際、方程式は1つだけであり、最大4つの未知数です。 したがって、3つの変数は無料であり、後者はそれらに依存しています。 それでは、すぐに表現しましょう! たとえば、変数を介して a 、ソリューションのセットは次のとおりです。

 begincases displaystylea= frac17−8b−3c−2d5b、c、d in mathbbR endcases

、、







どこで  mathbbR -実数のセット。



まあ、決定は本当に些細すぎることが判明しました。 次に、タスクを複雑にし、より面白くします。



実際、さまざまなディオファントス方程式 である整数係数と整数根を持つ線形方程式を思い出してみましょう。 具体的には、整数の係数と根に対応する制限を方程式に課します。 未知の係数は既に整数です( 5ドル; 8; 3; 2; 17 $ )、しかし未知数自体は以下に限定されなければなりません:

a、b、c、d in mathbbZ

、、、







どこで  mathbbZ 整数のセットです。



さて、記事の冒頭で得られた解決策は「失敗しない」。 a 有理数(小数)として。 それでは、この方程式を整数のみで解くにはどうすればいいのでしょうか?



この問題の解決に興味がある人は猫をお願いします。



そして続けます。 目的の方程式の基本的な変換をいくつか試してみましょう。

5a+8b+3c+2d=17\左向き右矢印5a+8b+2(c+d)+c=17

左向き右矢印()







タスクはまだ理解できないようで、そのような場合、数学者は通常、ある種の置換を行います。 私たちとあなたが彼女を除草しましょう:

c+d=t\右矢印5a+8b+2(c+d)+c=17\左右矢印5a+8b+2t+c=17

右矢印()左右矢印







ああ、私たちは興味深い結果を達成しました! の係数 c 私たちは今、 団結しています。つまり、あなたと私は、この方程式の残りの未知数を通して、この未知を表現できることを意味します。 それをやってみましょう:

5a+8b+2t+c=17\左向き右矢印c=17−5a−8b−2t

左向き右矢印







私はこれが私たちに何でも言うことを注意します a、b、t、、 (ディオファントス方程式の枠組み内)、とにかく c 整数のままになり、それで問題ありません。



それを覚えている c+d=t と言ってもいい d=t−c 。 代わりに置換 c 上記で得られた結果を取得します。

d=t−c=t−(17−5a−8b−2t)=3t+5a+8b−17

()







ここでも、 a、b、t、、 とにかく d 整数のままであり、それでも大丈夫です。



次に、素晴らしいアイデアが思い浮かびます。 a、b、t、、 自由変数として宣言し、 c、d、 それらを通して表現します! 実際、すでにこれを行っています。 決定システムに答えを書き留めるだけです。

 begincases displaystylea、b、t in mathbbZc=17−5a−8b−2td=3t+5a+8b−17 endcases

、、







これで、ソリューションのシステムではどこにも分割がないことがわかります。つまり、ソリューションは常に整数になります。 元の方程式の特定の解を見つけてみましょう。たとえば、 a=1;b=2;t=3 :

 begincases displaystylea=1b=2t=3c=17−5 cdot1−8 cdot2−2 cdot3=−10d=3 cdot3+5 cdot1+8 cdot2−17=13 endcases







元の方程式に代入します。

5 cdot1+8 cdot2+3 cdot(−10)+2 cdot13=17 Leftrightarrow17=17

()







まったく同じです! 別の例を試してみましょうか?

3a+7b−11c=1







ここでは負の係数が表示され、多くの問題が発生する可能性があるため、置き換えて罪を取り除きましょう c′=−c 方程式は次のようになります。

3a+7b+11c′=1







思い出すように、私たちの仕事は、そのような変換を行い、単位係数を含む方程式に未知のものが現れるようにすることです(その後、除算せずに他の要素で表現する)。 これを行うには、「箱から出して」何かを再度取得する必要があります。最速の方法は、ユニティに最も近い方程式から係数を取得することです。 ただし、必ずしも方程式の係数である数(多かれ少なかれ)しか受け取れないことを理解する必要があります。そうしないと、トートロジー/矛盾または分数に遭遇します(言い換えると、自由変数がどこかに現れることは不可能です)最後の交換を除く)。 だから:

3a+7b+11c′=1 Leftrightarrow3(a+b)+4b+11c′=1

()







代替品を紹介します a+b=t1 次に取得します:

3(a+b)+4b+11c′=1 Leftrightarrow3t1+4b+11c′=1

()







繰り返しますが、ブラケットとしてそれを取り、最終的に単位係数を持つ方程式で未知のものを取得します。

3t1+4b+11c′=1 Leftrightarrow3(t1+b)+b+11c′=1

()







代替品を紹介します t1+b=t2 その後:

3(t1+b)+b+11c′=1 Leftrightarrow3t2+b+11c′=1







ここから孤独な未知を表現する b :

3t2+b+11c′=1\左向き矢印b=1−11c′−3t2







それは何でも c′、t2 取らなかった b 整数のままです。 それから見つけます t1 関係から t1+b=t2 :

t1+b=t2 Leftrightarrowt1=t2−b=t2−(1−11c′−3t2) Leftrightarrowt1=4t2+11c′−1







同様に、 a 関係から a+b=t1 :

a+b=t1 Leftrightarrowa=t1−b=4t2+11c′−1−(1−11c′−3t2) Leftrightarrowa=7t2+22c′−2







これに関して、私たちの決定システムは成熟しました-除算に頼ることなく、すべての未知数を絶対的に表現しました。それにより、解が確実に整数になることを示しました。 また、それを忘れないでください c′=−c 、逆の置換を導入する必要があります。 最終的な決定システムは次のとおりです。

 begincases displaystylea=7t2−22c−2b=−3t2+11c+1c、t2 in mathbbZ endcases









したがって、質問に答えることは残っています-そのような方程式を解決することは可能ですか? 答え:いいえ、方程式が原則的に解けない場合。 これは、自由項が未知のすべての係数のGCDで完全に分割されていない場合に発生します。 言い換えると、次の方程式を持っています。

a1b1+a2b2+..+anbn=N







整数で解決するには、次の条件で十分です。

N modGCD(a1、a2、..、an)=0







(どこ Gcd 最大の共通因子です )。

証明
これは別の記事の機会であるため、この記事のフレームワークでは証明は考慮されません。 たとえば、V。Sierpinskiのすばらしい本「§2の整数の方程式の解法」で見ることができます。





上記を要約すると、未知の数の線形ディオファントス方程式を解くためのアクションのアルゴリズムを書きます:



  1. 方程式が解けるかどうかを確認します(上記のプロパティによる) N modGCD(a1、a2、..、an)=0 ) 答えが「はい」の場合、次の手順に進みます。
  2. プロセスを高速化するために、すべての係数(自由項を含む)を Gcd 。
  3. を置き換えることにより、方程式の負の係数を取り除きます a′n=−an
  4. 一連の置換を実行し(方程式の一部の項を合計に分割し、角括弧で結合します)、最終的に方程式の項の1つが単位係数を使用し、除算なしで導出できるようにします。 必然的に方程式の係数である数(多かれ少なかれ)だけをブラケットから取り出すことができることを覚えておいてください。そうしないと、トートロジー/矛盾または分数に出くわすことになります(言い換えると、自由変数が最後の交換のように)。 最後に、それが自由であると表現されるすべての変数を宣言します。
  5. 上記の方法で残りの変数を推定します(すべての置換から推定します)。逆置換についても忘れません。
  6. すべてを単一のソリューションシステムに統合します。


結論として、方程式の各項に不等式の形で制限を追加することもできます(その後、解を調整する必要がある不等式のシステムがソリューションシステムに追加されます)。 決定アルゴリズムが厳密であり、コンピュータープログラムの形式で記述できることを忘れないでください。



ピーターはあなたと一緒でした

ご清聴ありがとうございました。



All Articles