Сумма кубов

Пусть

, тогда либо

, либо

,
где

,

и

- степень двойки.
...
Если допустим

,

, то снова два варианта: либо

, либо

,
где

,

и

- степень двойки.
Если простое

,

, то та же вилка: либо

, либо

,
где

,

и

- степень двойки.
Кстати, решение квадратного уравнения

по модулю

, где

и

- неизвестное, обязано существовать и без возведения в крутую степень по модулю. Поэтому следующий код тоже работает:
Код:
mtf()=
{
local(M:int);
local(a,t);
forprime(p=2, 5000,
M= (2^p-1):int;
a= Mod(3,M);
t= polrootsmod(a^2 - a*X + X^2, M);
if(#t==2, print(p))
)
};
Тогда, если для большого

получена частичная факторизация

, то имеет смысл сначала проверить, существует ли решение соответствующего полинома по модулю

Код:
polrootsmod(a^{q-1} - ... + X^{q-1}, M)
где

и простое

Если не существует, то сразу можно отбраковывать данное

.
Правильно ли это?