设Y=900X*X—M 。 X,M 均为正整数,当M为已知数时,如何求出X,使得Y为平方数。

来源:百度知道 编辑:UC知道 时间:2024/09/24 10:15:30
例如M=9788988911,此时X=3298,Y=367*367。
M=911时,不论X取何值,Y都不是平方数。
1:当M=911时,不论X取何值,Y都不是平方数。请证明。
2:当M=169511时,仅有X=14可以使得Y为平方数。请证明。
3:利用计算机一个一个试Y 的值,当M很大时太麻烦。有无其他数学方法求解? 如果有,意义重大。

第一题二楼已经说过不再多说
假设还有另外一个数使得Y为平方数,假设为T,由于X的系数为900,则Y可以分解为900*(X-14)*(X-T),分解为900X^2-900*(14+T)X+900*14*T,令14+T=2K,14*T=K^2,则Y=900(X-K)^2。由于K可以被14整除,,则T也必须可以,于是假设T=14M,代入得14+14M=28倍根号M
化解为14(根号M-1)^2,M必须是完全平方数。另M=D^2,则K=14D,代入14+T=2K得(D-1)^2=0,只有一个解D=1,就是X=14符合条件,所以解只有一个。

解:设Y=y²,则可得M=(30X-y)(30X+y)
那么将M分解因子,然后组合成双因子积的形式,设M=M₁M₂,并且
30X-y=M₁
30X+y=M₂
那么X=(M₁+M₂)/60
所以只需要分解M就行了,然后检验它有没有和能被60整除的双乘因子。

1、M=911时是个素数,912不能被60整除,故无解。
2、M=169511=337×503(还有1对个位数都是1明显不行),所以有唯一解X=(337+503)/60=14。
3、分解素数,检验双乘因子之和除以60的余数,是比一个一个试Y的值强那么一点点的办法,也是唯一的办法。

900x^2是(30x)^2
问题就是两个平方数之差=M
相邻两个平方数的差分别是:1、3、5、7、9、...
M是相邻若干个差的和

然而试试看就知道911是质数,所以只可能是相邻两个平方数的差。
2n-1=911
n=456
而456不能整除30,所以如果x是整数,那么Y不可能是平方数。

如果你有计算机的话就很简单了,直接试Y的值
Y=900X^2-119
Y=(30X)^2-119
首先Y>0
当X>2
(30x)^2-119<(30x)^2
(30x-1)^2=900X^2-60X+1
因为