|
> No.3037[元記事へ]
問題
(x+y-1)(y+z-1)(z+x-1)=6xyz、1<x<y<z
を満たす自然数の組をすべて答えよ。
答え
f(x,y,z)=(x+y-1)(y+z-1)(z+x-1)-6xyz とおく。
zで偏微分すると、
fz(x,y,z)
=(x+y-1){(y+z-1)+(z+x-1)}-6xy
={x+(y-1)}{y+(z-1)+(z-1)+x}-6xy
≧2x(3y+x)-6xy=2x^2>0
よって、fはzに関して狭義単調増加となる。
f(x,y,y+1)≦f(x,y,z)<f(x,y,z+1) ← 式1
g(x,y)=f(x,y,y+1)とおくと、g(x,y)=2y^3-2(x+1)y^2+2x(x-4)y
yで偏微分すると、gy(x,y)=6y^2-4(x+1)y+2x(x-4)
さらにyで偏微分すると、gyy(x,y)=12y-4(x+1)>0
よって、gy(x,y)は、yに関して単調増加となる。
gy(x,x+1)=4x^2-4x+2=2x^2+2(x-1)^2>0 したがって、gy(x,x+1)>0
よって、g(x,y)=f(x,y,y+1)は、yに関して狭義単調増加となる。
f(x,x+1,x+2)≦f(x,y,y+1)<f(x,y+1,y+2) ← 式2
式1と式2より、f(x,x+1,x+2)≦f(x,y,z)
よって、f(x,y,z)=0とすると、f(x,x+1,x+2)≦0でなければならない。
これより、f(x,x+1,x+2)=2x(x+1)(x-4)なので x=2,3,4でなければならない。
x=2,3,4について、f(x,y,z)≧0になるまでy,zを昇順に調べる。
LET x=2
DO
LET y=x+1
DO
LET z=y+1
DO
LET f=(x+y-1)*(y+z-1)*(z+x-1)-6*x*y*z
PRINT x;y;z; f
IF f>=0 THEN EXIT DO !f(x,y,z)≧0になるまで
LET z=z+1 !昇順に調べる
LOOP
PRINT
IF z=y+1 THEN EXIT DO !f(x,y,y+1)>0なら可能性がない
LET y=y+1
LOOP
IF y=x+1 THEN EXIT DO !f(x,x+1,x+2)>0なら可能性がない
LET x=x+1
LOOP
END
答え
相加・相乗平均の関係より、
x+(y-1)≧2√{x(y-1)}
y+(z-1)≧2√{y(z-1)}
(z-1)+x≧2√{(z-1)x}
辺々掛け合わせて、
(x+y-1)(y+z-1)(z+x-1)≧8x(z-1)√{(y-1)y}
∴6xyz≧8x(z-1)√{(y-1)y}
両辺を8xyz(≠0)で割って、
3/4≧(1-1/z)√(1-1/y)
両辺を2乗して、
9/16≧(1-1/z)^2(1-1/y)
∴9/16≧(1-1/z)^2(1-1/y)>(1-1/y)^2(1-1/y)=(1-1/y)^3
∴9/16>(1-1/y)^3
∴(9/16)^(1/3)>1-1/y
∴1-(9/16)^(1/3)<1/y
∴y<1/{1-(9/16)^(1/3)}=5.730… <6
よって、(x,y)の組は、(2,3)、(2,4)、(2,5)、(3,4)、(3,5)、(4,5)のみである。
また、zの上限は、
1<x<y<zより、
1+y-1<x+y-1 ∴y<x+y-1
1+z-1<y+z-1 ∴z<y+z-1
これより、
yz(z+x-1)<(x+y-1)(y+z-1)(z+x-1)=6xyz ∴(z+x-1)<6x ∴z<5x+1
よって、1<x<y<z≦5x
FOR x=2 TO 4
FOR y=x+1 TO 5
FOR z=y+1 TO 5*x
IF (x+y-1)*(y+z-1)*(z+x-1)=6*x*y*z THEN PRINT x;y;z
NEXT z
NEXT y
NEXT x
END
!後半の「また、zの上限は、… 」の部分を、
! x=X,y=Yを代入すると、zの2次式なので、解の公式からzを求める。
!とする。
!(X+Y-1)(Y+z-1)(z+X-1)-6XYz=0 ∴(X+Y-1)z^2+{(X+Y-1)(X+Y-2)-6XY}z+(X+Y-1)(X-1)(Y-1)}=0
FOR x=2 TO 4
FOR y=x+1 TO 5
LET A=x+y-1 !2次方程式 Az^2+Bz+C=0
LET B=(x+y-1)*(x+y-2)-6*x*y
LET C=(x+y-1)*(x-1)*(y-1)
LET D=B^2-4*A*C !判別式
IF D>=0 THEN
LET z=(-B+SQR(D))/(2*A)
IF z>y AND z=INT(z) THEN PRINT x;y;z
LET z=(-B-SQR(D))/(2*A)
IF z>y AND z=INT(z) THEN PRINT x;y;z
END IF
NEXT y
NEXT x
END
答え グラフによる
f(x,y,z)=(x+y-1)(y+z-1)(z+x-1)-6xyzのz=Zでの断面(等高線)のグラフを描く。
1<x<y<zなので、第1象限の格子点に着目する。
参考サイト
Full BASICと十進BASICの Q&A
関数のグラフ・曲線を描くプログラム
基本サンプル
DEF f(x,y)=(x+y-1)*(y+ZZ-1)*(ZZ+x-1)-6*x*y*ZZ
LET left=-1 !表示範囲
LET right=8
LET bottom=-1
LET top=8
SET WINDOW left,right,bottom,top
DRAW grid
SET POINT STYLE 1
FOR ZZ=4 TO 10 !z=Zとする
SET POINT COLOR ZZ-3
FOR y=bottom TO top STEP (top-bottom)/2000 !y方向への走査
LET x=left
LET z0=f(x,y)
FOR x=left TO right STEP (right-left)/2000 !x方向への走査
LET z=f(x,y)
IF z0*z<0 THEN PLOT POINTS: x,y
LET z0=z
NEXT x
NEXT y
NEXT ZZ
END
|
|