• ベストアンサー

2次形式の解を求めるプログラム

例えば x1^2+x2^2+x3^2+…+xn^2=m(mは整数) の解、x1,x2,x3,…,xn(全て整数) を求めるようなプログラムはありますか? また作成可能ですか? もしあったり可能なのであれば、詳細について教えていただければありがたいです。 Cに限らずどの言語でも構わないです。お願いします。 例えば x1^2+x2^2=1 の解は x1=0,x2=1 またはx1=1,x2=0

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

0~√mまでの整数で総当りチェックすれば出来そうです バックトラッキングっていう方法があります

その他の回答 (1)

回答No.2

>x1^2+x2^2+x3^2+…+xn^2=m(mは整数) >の解、x1,x2,x3,…,xn(全て整数) を求めるようなプログラムはありますか? そんなに好都合な物はありません。自作して下さい。 >また作成可能ですか? 可能です。 >例えば >x1^2+x2^2=1 >の解は x1=0,x2=1 またはx1=1,x2=0 違います。 「整数」とは「負の数」も含むので、解は x1=0,x2=1またはx1=1,x2=0またはx1=0,x2=-1またはx1=-1,x2=0 です。