• ベストアンサー

ユークリッドの互除法

ユークリッドの互除法の処方でつまづいています。 どなたか教えて頂けませんか。 aとbは正の整数でb≦aの関係にある。 aとbの最大公約数gcd(a,b)。 この時gcd(a,b)=ax+byの解となる(x,y)のペアはいくついるのでしょうか? 直感ですと(x,y)は一つしか存在しないように感じるのですが、どうやって記述すればいいのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • B-juggler
  • ベストアンサー率30% (488/1596)
回答No.3

No.1です 補足感謝ヾ(@⌒ー⌒@)ノ >aとbが互いに素ではない限り、(x,y)は無数にに存在するということですか? そのとおり(児玉清さん風に)! 数字を実際に入れてみれば、すぐに出ますよ^^; (=^. .^=) m(_ _)m (=^. .^=) gcd(a,b)=2  (a,b)=(4,2)とすると 2=(4-2)=(a-b)  =(8-6)=(2a-3b)  =(12-10)=(3a-5b)  =(16-14)=(4a-7b) 以下まだ無限にあります。

その他の回答 (2)

  • rnakamra
  • ベストアンサー率59% (761/1282)
回答No.2

x,yに何も条件はないのですか。 gcd(a,b)=ax+by を満たす(x,y)がひとつあり(x0,y0)とすると x=x0+bn,y=y-an (nは整数)とするとやはり上の式を満たします。 つまり、ひとつしかない、ということはありえません。ひとつの(x0,y0)の組から無限に作ることが可能です。

koni-ami
質問者

補足

この問題の前の設問でrnakamraさんの書かれたことが問われていたので、やはり無限にあるのですね。 またx,yには条件はありません。 だとするとgcd(252,192)=252x+192yの(x,y)も無限個存在するのでしょうか?

  • B-juggler
  • ベストアンサー率30% (488/1596)
回答No.1

えっと、こんばんは。 う~ん、一つだけしか存在しないのは {(x、y)が} a,b が互いに素  ⇔gcd(a,b)=1 のときだけですよ。 こういうのは例を挙げて考えてみれば、そんなに苦労はしません。 a=10、b=5 としましょうか? gcd(a,b)=5 ですね。 5= a - b = 2a - 3b = 3a - 5b・・・・・ これはキリがないですよ。 順に(x、y)=(1、-1)、(2、-3)(3、-5)・・ gcd(a,b)=1 のときは 互除法で a,bを崩していって、 この辺は多分やられていると思います。 例を挙げますので、これでできないときはまた言ってください。 a=65 b=19 と取ったとき gcd(a,b)=1です。 (x、y)= (-7、24)じゃなかったかな? (=^. .^=) m(_ _)m (=^. .^=)

koni-ami
質問者

補足

aとbが互いに素ではない限り、(x,y)は無数にに存在するということですか?

関連するQ&A

  • ユークリッドの互除法

    二つの整数a,bの最大公約数dを、ユークリッドの互除法で求める方法は分かります。 そうして求めたdは、適当な数x,yを使い、d=ax+byで表せることも何とか分かります。 しかし、d=ax+byが与えられたとき、ユークリッドの互除法を使って、特殊解xとyをどうやって求めたらよいのかが分かりません。 これまでの書き込みを見ても理解ができませんでした。 どなたか分かりやすくお教えください。

  • ユークリッドの互除法について

     ユークリッドの互除法を使って最大公約数、整数解を求められると聞いたのですが、イマイチ要領がつかめません。    もしよろしければ、どなたかユークリッドの互除法での最大公約数、整数解の求め方を教えてください。

  • 拡張ユークリッドの互除法のaとbは1組のみ?

    例えば、下記URLを見ると、 http://www2.cc.niigata-u.ac.jp/~takeuchi/tbasic/BackGround/ExEuclid.html -- x, yを0でない自然数とし,c=GCD(x,y)とする。このとき, ax+by=c となる整数a,bが存在する。そして,この a,b は実際に計算することが出来る。 -- のように拡張ユークリッドの互除法が解説されていますが、この時、a,bの組は1組なのでしょうか?それとも複数ある(可能性がある)うちの1組を特定できる、ということなのでしょうか?

  • ユークリッドの互除法についての問題です。

    ユークリッドの互除法についての問題です。 a,bが任意の整数のとき、次の式を満たす整数xは必ずあるか。 (1)aが5の倍数でないとき ax≡b (mod5) (2)aが4の倍数でないとき ax≡b (mod4) 誰か教えてください。

  • ユークリッドの互除法

    ユークリッドの互除法をJavascriptで書こうとしてます。以下のように書いたのですが、うまく動きません。(45と60の最大公約数を求めるプログラム) <script> window.alert(gcd(45, 60)); function gcd(a, b){ var r=a%b; if(r==0){ return b; }else{ gcd(b, r); } } </script> undifinedとなってしまいます。どうしたら正確な答えが出るでしょうか?

  • ユークリッドの互除法の証明

    ユークリッドの互除法なんですが、これを使った証明がわからないので質問させてください。 a,bは正の整数で、b≦aである。 r_0=a、r_1=bとしq_iとr_iは整数で0<r_i<r_(i-1)である。(qについては特に指示はありません) このとき r_0=r_1*q_1+r_2 r_1=r_2*q_2+r_3 ・ ・ ・と続き r_(n-2)=r_(n-1)*q_(n-1)+r_n r_(n-1)=r_n*q_n が成り立つ。 n≧2の時、ユークリッドの互除法はgcd(a,b)=ax+byとなる整数(x,y)を持つことを証明しなさい。 これは帰納法を使えばいいのでしょうか? n=2の時にr_2=r_0-r_1*q_1が成り立つことはr_(n-1)=r_n*q_n にn=2を代入して示せるのですがn=k、n=k+1の時にどうすればうまく証明できるのかわかりません。 どなたか教えて下さい。

  • 数学のユークリッド互除法についてです。

    数学のユークリッド互除法についてです。 [4201x-3859y=1の1組の非負整数解を求めよ]の解答と解法を教えて下さい。 何度計算しても負の値になってしまいます。 よろしくお願いします。

  • Euclidの拡張互除法

    Euclidの拡張互除法 互いに素な自然数A,Bがあるとき、Ax+By=1を満たす整数(x,y)が存在しますね。 また、この式からAB-BA=0をn倍して辺々引くと A(x-nB)+B(y+nA)=1 が成り立つので (x-nB,y+nA)も、Ax+By=1の整数解であると言えます。 これ以外に、Ax+By=1を満たす整数解は存在することはありますか? それと、Euclidの拡張互除法で Ax+By=1を満たす整数(x,y)を求めることができますが 無限に存在する(x,y)の組のうち、求まるのは 最も簡単なもののような気がしますが、それは正しいですか? 「最も簡単」というのは適当な表現が見つからないのですが 絶対値が一番小さい数の組み合わせといいますか 既約分数のようなイメージです。

  • ユークリッドの互除法

    ユークリッドの互除法がよくわかりません。 m>nとして(m=nならばm=gcd(m,n)) m=sn+t (n>t)とあらわせる。 ここでgcd(m,n)=gcd(n,t)となるのがわかりません。 これがわかったらあとはあまり部分が0になるまでやればそのときに最大公約数が出るというのはわかるのですが、、、

  • ユークリッド互除法

    ユークリッド互除法を使用して最大公約数を求めるプログラムを、C言語で書いてみました。 #include <stdio.h> main() { int a, b, t; scanf("%d %d", &a, &b); if(a<b){ t=a; a=b; b=t; } while(b != 0){ t = a % b; a = b; b = t; } printf("GCD = %d\n", a); return 0; } これを、もっと簡略化できるらしいのですが、これ以上できることはありますか? どう考えてもわかりません