『a^2 + b^2 - abc』

『a2+ b2- abc』解答


◆広島県 清川 育男 さんからの解答。

相加平均と相乗平均の関係式から、

k=a2+b2-a*b*c
c=k+1

また、b>a≧1 としても一般性は失われない。

0<k<c
k=a2+b2-a*b
a*b+1

a,b,cの漸化式を見つけました。
結局、 k=n2 となる。

 OPTION BASE 0
 DIM C(10)
 DIM A(10)
 DIM B(10)
 FOR K=1 TO 10
    LET  C(K)=K^2+1
 NEXT K
 FOR K=1 TO 10
    PRINT K;"^2=";K^2
    PRINT " C=";C(K)
    FOR J=1 TO 5
       IF J=1 THEN
          LET  A(J)=K
          LET  B(J)=A(J)*C(K)-A(J-1)
          PRINT USING "#############":A(J);
          PRINT USING "#############":B(J)
       ELSE
          LET  A(J)=A(J-1)*C(K)-A(J-2)
          LET  B(J)=A(J)*C(K)-A(J-1)
          PRINT USING "#############":A(J);
          PRINT USING "#############":B(J) 
       END IF
    NEXT J
    PRINT
 NEXT K
 END

 1 ^2= 1 
 C= 2 
            1            2
            2            3
            3            4
            4            5
            5            6

 2 ^2= 4 
 C= 5 
            2           10
           10           48
           48          230
          230         1102
         1102         5280

 3 ^2= 9 
 C= 10 
            3           30
           30          297
          297         2940
         2940        29103
        29103       288090

 4 ^2= 16 
 C= 17 
            4           68
           68         1152
         1152        19516
        19516       330620
       330620      5601024

 5 ^2= 25 
 C= 26 
            5          130
          130         3375
         3375        87620
        87620      2274745
      2274745     59055750

 6 ^2= 36 
 C= 37 
            6          222
          222         8208
         8208       303474
       303474     11220330
     11220330    414848736

 7 ^2= 49 
 C= 50 
            7          350
          350        17493
        17493       874300
       874300     43697507
     43697507   2184001050

 8 ^2= 64 
 C= 65 
            8          520
          520        33792
        33792      2195960
      2195960    142703608
    142703608   9273538560

 9 ^2= 81 
 C= 82 
            9          738
          738        60507
        60507      4960836
      4960836    406728045
    406728045  33346738854

 10 ^2= 100 
 C= 101 
           10         1010
         1010       102000
       102000     10300990
     10300990   1040297990
   1040297990 105059796000

◆広島県 清川 育男 さんからの解答。

 DIM C(10)
 DIM A(0 TO 10)
 DIM B(10)
 FOR K=1 TO 10
    LET  C(K)=K^2+1
 NEXT K
 FOR K=1 TO 10
    PRINT " K=";STR$(K)&"^2="&STR$(K^2) 
    PRINT " C="&STR$(C(K))
    PRINT        
    FOR J=1 TO 5
       IF J=1 THEN
          LET  A(J)=K
          LET  B(J)=A(J)*C(K)-A(J-1)
          PRINT " A="&STR$(A(J));
          PRINT "  B="&STR$(B(J))
       ELSE
          LET  A(J)=A(J-1)*C(K)-A(J-2)
          LET  B(J)=A(J)*C(K)-A(J-1) 
          PRINT " A="&STR$(A(J));
          PRINT "  B="&STR$(B(J))  
       END IF
    NEXT J
    PRINT " ................................."
    PRINT " ................................."
    PRINT "-----------------------------------------------------------------"
    PRINT
 NEXT K
 END

 出力

 K=1^2=1
 C=2

 A=1  B=2
 A=2  B=3
 A=3  B=4
 A=4  B=5
 A=5  B=6
 .................................
 .................................

K=2^2=4 C=5 A=2 B=10 A=10 B=48 A=48 B=230 A=230 B=1102 A=1102 B=5280 ................................. .................................
K=3^2=9 C=10 A=3 B=30 A=30 B=297 A=297 B=2940 A=2940 B=29103 A=29103 B=288090 ................................. .................................
K=4^2=16 C=17 A=4 B=68 A=68 B=1152 A=1152 B=19516 A=19516 B=330620 A=330620 B=5601024 ................................. .................................
K=5^2=25 C=26 A=5 B=130 A=130 B=3375 A=3375 B=87620 A=87620 B=2274745 A=2274745 B=59055750 ................................. .................................
K=6^2=36 C=37 A=6 B=222 A=222 B=8208 A=8208 B=303474 A=303474 B=11220330 A=11220330 B=414848736 ................................. .................................
K=7^2=49 C=50 A=7 B=350 A=350 B=17493 A=17493 B=874300 A=874300 B=43697507 A=43697507 B=2184001050 ................................. .................................
K=8^2=64 C=65 A=8 B=520 A=520 B=33792 A=33792 B=2195960 A=2195960 B=142703608 A=142703608 B=9273538560 ................................. .................................
K=9^2=81 C=82 A=9 B=738 A=738 B=60507 A=60507 B=4960836 A=4960836 B=406728045 A=406728045 B=33346738854 ................................. .................................
K=10^2=100 C=101 A=10 B=1010 A=1010 B=102000 A=102000 B=10300990 A=10300990 B=1040297990 A=1040297990 B=105059796000 ................................. .................................

◆東京都 藤本 さんからの解答。

証明ではありません

0 < a2 + b2 - abc < c  … (1)
を満たす自然数 a,b,c について
c ≧ 2 が 成り立つ

また 簡単のため a < b とする。
( a = b のとき a2 + b2 - abc = (2 - c)a2 ≦ 0 となり(1)に反する)

@)a = 1 のとき

任意の b ( > 1 : 自然数) について
c = b とすると
a2 + b2 - abc = 1 + b2 -b2 = 1

A) a > 1 のとき

a,b が互いに素ならば
a2 + b2 - abc = 1
が成り立つことが予想される。… (*)

例えば

・b = a + 1 のとき
c = 2 とすると

 a2 + b2 - abc
= a2 + (a + 1)2 - 2a(a + 1)
= a2 + a2 + 2a + 1 - 2a2 - 2a
= 1<c

・b = a2 - 1 のとき
c = a とすると

 a2 + b2 - abc
= a2 + (a2 + 1)2 - a2*(a2 - 1)
= a2 + a4 + 2a2 + 1 - a4 + a2
= 1 <c

(*)証明はできていません
オイラーの定理(フェルマーの小定理)あたりを使えば 部分的に証明はできるのですが。。。


なお、広島県 清川 育男 さんからの解答 は
上記を満たすa,b,c と n2 < c を満たす n を使い
a'= na, b' = nb, c' = c としたときの a',b',c' の組合わせと思われます

このとき

 a'2 + b'2 - a'b'c'
= n2*a2 + n2*b2 - n2*abc
= n2*(a2 + b2 - abc)
= n2


◆東京都 昔とった杵柄 さんからの解答。

条件を満たす(a,b,c) の場合に、
a2+b2-cab が取りうる値は、1以上 c以下で、何か整数の2乗になっているモノだけです。

【証明】

f(a,b;c) = a2+b2-cab と置く事にします。

条件は、 0< f(a,b;c) ≦ c なので

c=1 の場合は、
f(a,b;c) = x とすると
x の条件が 1以下、1以上 なので 1 しか有り得ないですし、
また実際、(a,b) = (1,1) で、f(a,b;c) = 1 とする事ができます。

c=2 の場合は、
f(a,b;c) = x と、なったとすると、
x = (a-b)2 で、何かの2乗でないと、いけません。

その上、条件でc(=2) 以下、1 以上、とされているので、
あるとすれば、x=1 (=12 ) しかありえません。

また実際、(a,b) = (2,1) で f(a,b,c) = 1 とできます。

次に、c≧3 の場合ですが、
対称性から、a≧b の範囲だけを考える事にして、

さらに f(a,b;c)≧0 の条件から、
a2-cab+b2≧0

つまり、 a≧( c+(c2-4)0.5 )/2 * b の範囲だけを考えます。

以下では、r = (c+(c2-4)0.5)/2 と書く事にします。

rは無理数なので、0でなければ、ちょうど a = rb となる事はありません。
もし、a(1) > r b(1) を満たす自然数で、
f(a(1),b(1);c) = x となったとします。

ここで、次の数列を考えます。
(たぶん、清川育男さんの言う「漸化式」ではないでしょうか?)

a(n) = b(n-1)
b(n) = -a(n-1) + c * b(n-1)

この数列には、次のような特徴があります。

※1: f(a(n),b(n);c) = f(a(n-1),b(n-1);c)

※2: a(n) > r b(n)

※3: a(n-1)>0 ならば、a(n) < a(n-1)

∵1:

a(n)2 + b(n)2 - ca(n)b(n) 
= b(n-1)2 + a(n-1)2 - 2ca(n-1)b(n-1) + c2 b(n-1)2 + c b(n-1)a(n-1) - c2 b(n-1)2
= a(n-1)2 + b(n-1)2 - ca(n-1)b(n-1)
∵2:

a(n) - r b(n)
= b(n-1) + ra(n-1) - cr b(n-1)
> (r2 - cr + 1 ) b(n-1) 
 (帰納法仮定で、a(n-1) > r b(n-1) だから。)
= 0 (r の定義より。)

∵3:

a(n) = b(n-1) < 1/r * a(n-1)
r>2 なので、a(n-1)>0 ならば、a(n)<a(n-1) となります。

a(n) は整数の数列だから、減少する時は、1 以上減少していくので、何か 整数 N があって、
a(N)≧1、a(N+1)≦0 となるはずです。

数列の定義より、a(N+1) = b(N) であるので、
結局、a(N)≧1 、b(N)≦0 という整数があって、
f(a(N),b(N);c) = ... = f(a(1),b(1);c) = x と書ける事になります。

つまり、u = a(N) , v = -b(N) と置くと、
u≧1、v≧0 な整数で、

u2 + v2 + cuv = x と書ける事になるのですが、

ところが、v≧1 だとすると、
x ≦ 2 + c となり、x が c 以下という条件を満たしません。

したがって、v = 0 となり、
u は 1以上で、あるとすれば、x = u2 と書けて、しかも c 以下なモノしか有り得ません。

また、実際、uを1以上として、(a,b) = (cu,u) と置くと、

f(a,b;c) = (cu)2 + u2 -c(cu)u = u2 とする事ができます。

と、言うわけで、自然数c に対して、f(a,b;c) が取り得る値は、1以上c以下の、何かの2乗になっている数となります。

【コメント】

何かに取り憑かれたように、ここずっと、1ヶ月ほど、解けないなぁ、と悩んでいたのですが、
c=3、a=-10〜20 b=-10〜20 の a2+b2-cab を表にした時に、ようやく気が付きました。

マイナスの部分の方が、大事なんですね。
こんなキレイな関係だと、何か意味があるような気もするのですが…。

それにしても、自然数で、a2+b2-cab が、2 にならないのは、何か不思議です。


◆愛知県 Y.M.Ojisan さんからの解答

【解答】 全ての平方数

∵N=a+b−abc とおく。
c=2mのとき N=(a−mb)−(m−1)bであり、
(m−1)は平方数ではないので、いわゆる一般化されたペルの不定方程式である。

N=1の場合はペルの方程式であり、
この場合自明でない解 (a−mb)=m b=1があるので、整数解は無限に存在する。

また (a−mb)=mb とすることにより、N=bとできるので、Nとして任意の平方数が存在する。

実際、c の偶奇性によらず 
X=1 ,X=c,Xn+1=c*X−Xn−1を計算し、
d<c に対して
a=d*Xn+1,b=d*Xとすれば 
0<N=d<c である。 

次にN≠平方数の場合を考える。

この場合、X=a/b,ε=N/b とするとき下記である。

−cX+1=ε 

ε→0の 解 X>1は 下記のように周期2の連分数表現(Xの有理数近似)ができる。

 

従って、ペルの方程式におけるラグランジュのアルゴリズムの手法が適用可能である。

【準備1】

0<a+b−abc<c を c に関して書き直すと
−−−−(1)

である。
a=b の時 c=1でなければならないが、条件式より c は2以上である必要があり成立しない。
また aとb は対称であるので a>b として考えればよい。

b=1 a≧2の時 cは(1)式右辺より a以下で、左辺よりa−1より大きく無ければならず即ちc=aである。

これを代入すると a+b−abc=1<c である。
よってこの場合、a+b−abcは1であり、平方数である。

なお、c=2の時いずれにしても得られる値は1であるが、a=b+1 で成立する。
よって以降 a>b≧2 c≧3 で考える。

このとき

−−−−−(2)

であるので、(1)式の 左右の式の値の差は1未満である。
また、a≠bであるので(1)式の右辺値は整数ではない。 
よって 条件を満足するa、b、cは次の関係にある。

(2)式より b/a<1であるから、

a>b(c−1)         −−−−−(3)

【準備2】

Nを書き換えると下記である。

ここで N=(a−αb)(a−βb) である。

よって Q=a/b >1 とするとき
条件 N≦c−1 と 式(3)よりQ≧c−1 を代入すると
c≧3なので 下記である。

 −−−−−(4)

つまり α を分母bの有理数Qで近似したとき、
誤差は1.24/b未満でなければならない。

【準備3】

1=(a−αb)(a−βb)の場合は
数列 X=1,X=c,X=c−1 ・・・・・・の連続2項をa,b として用いれば成立することを前に示した。

いま、 N=(a−αb)(a−βb)が成立する互いに素な a,b が存在したとする。

この時 

N=(a−αb)(a−βb) (Xn+1−αX)(Xn+1−βX)
=(a’−αb’)(a’−βb’)

ここで

a’=a*Xn+1−b*X*αβ
=a*Xn+1−b*X

b’=a*X+b*Xn+1−b*X*(α+β)
=a*X+b*Xn+1−b*X*c

である。

即ち、a,b が存在したとすると N=1の場合と同じ密度で無限に存在する。

さらに N=(a−αb)(a−βb) を a,b を変数とする双曲線と考えると、
連続性からその双曲線上の点列 (√(N)*Xn+1 ,√(N)*X) の間に1個ずつ存在していることがわかる。

よって、Nが非平方数ならば、b’ として √Nからc√N の閉区間の値のもので 
N=(a−αb)(a−βb)となるものが存在する。(詳細は教科書に譲る)

【結論】

準備2式(4)より そのようなb’に対して|Q−α|<1.24/b’2 でなければならない。
N=1の場合の近似値 Q=c−1/c は|Q−α|〜1/cであって、これを十分満たしている。

b’= pc+q<c√N として Q=c−p/(pc+q)で Qを近似した場合を考える。

q=0において 誤差は 〜1/cであった。
b’= pc+q とすることにより、 誤差は 〜q/pc(pc+q) 変化する。

ベ−スの誤差が〜1/cであるので、全て改悪となることは明らかであるが、
q=±1であれば 〜1/pc(pc+q)〜1/b’であり、
N≠1の場合の可能性が残る。 
{ 〜:の程度の意味です。 }

実際に計算すると a=c(pc±1)−p  b=pc±1 であり、
+b−abc=p+1±pc である。

p<√cであるから q=−1のとき、 p+1−pc<c(1−p)+1 であり、
少なくとも p=1でないと負である。

p=1のとき 2−c<0 であるのでやはり負である。
よって q≠−1である。

q=1のとき p≧1なので
+1+pc≧2+c>c である。
よって N>c であって条件を満足しない。>
以上よりN は a , b が素の時は 1 のみである。
つまり Nは平方数のみである。

【PS】

上記結論より|N|<c とした場合 あるいは N≦c+2 とした場合は平方数以外があるようです。

非常に簡単な問題文であるのにもかかわらず奥の深い問題で、またペルの方程式におけるラグランジュのアルゴリズムの条件
(|N|<c/2 相当)を若干逸脱しているところがひねってあり、十分楽しませていただきました。

GCD(a,b)=1 という条件をつけたほうが、解答が1に限られるので、良いかと思います。
なお、等価な問題として、次のようにも作り変えられますね。

自然数 a,b  GCD(a,b)=1 があって、
+bを適当な整数cで割ったときの商の整数部が a*b であるとき、剰余は1である。


 『a2+ b2- abc』へ

 数学の部屋へもどる