但\( x^8-x^7+x^5-x^4+x^3-x+1 \)的係數只有1或\( -1 \)找不到質數\( p \)符合愛因斯坦判別法
wiki也提到可以藉由變數代換,說不定就可以找到質數\( p \)
有時候不能直接用判別法,或者可以代入\( y = x + a \)後再使用。
例如考慮\( h(x) = x^2 + x + 2 \)。這多項式不能直接用判別法,因為沒有素數整除x的係數1。但把\( h(x) \)代入為\( h(x + 3) = x^2 + 7x + 14 \),可立刻看出素數7整除x的係數和常數項,但\( 7^2 = 49 \)不整除常數項。所以有時通過代入便可以用到判別法。
我利用maxima來找\( y=x+a \)的\( a \)值。只是程式執行完沒有符合的\( a \)和\( p \)。
fx:x^8-x^7+x^5-x^4+x^3-x+1;
for a:-10000 thru 10000 do
(fx2:expand(ev(fx,x=x+a)),
coeffs:create_list(coeff(fx2,x,i),i,0,7),
p:lreduce(lambda([x,y], gcd(x,y)),coeffs),
if p#1 then
(print("x+",a,"p=",p))
);