Задача 797
Циклогенные многочлены

Приведенный многочлен - это многочлен одной переменной, в котором старший коэффициент равен 1.

Определим $\mathcal{F}$ как множество всех приведенных многочленов с целочисленными коэффициентами (включая постоянный многочлен $p(x)=1$). Многочлен $p(x)\in\mathcal{F}$ является циклогенным, если существует $q(x)\in\mathcal{F}$ и положительное целое число $n$, такое что $p(x)q(x)=x^n-1$. Если $n$ - наименьшее такое положительное целое число, тогда $p(x)$ является $n$-циклогенным.

Определим $P_n(x)$ как сумму всех $n$-циклогенных многочленов. Например, существует десять 6-циклогенных многочленов (которые делят $x^6-1$ нацело и не меньше $x^k-1$):

$$\begin{align*} &x^6-1&&x^4+x^3-x-1&&x^3+2x^2+2x+1&&x^2-x+1\\ &x^5+x^4+x^3+x^2+x+1&&x^4-x^3+x-1&&x^3-2x^2+2x-1\\ &x^5-x^4+x^3-x^2+x-1&&x^4+x^2+1&&x^3+1\end{align*}$$

что дает

$$P_6(x)=x^6+2x^5+3x^4+5x^3+2x^2+5x$$

Также определим

$$Q_N(x)=\sum_{n=1}^N P_n(x)$$

Известно, что $Q_{10}(x)=x^{10}+3x^9+3x^8+7x^7+8x^6+14x^5+11x^4+18x^3+12x^2+23x$ и $Q_{10}(2) = 5598$.

Найдите $Q_{10^7}(2)$. В качестве ответа приведите остаток от деления полученного результата на $1\,000\,000\,007$.

Оригинал
 
© Проект Эйлера | Translated problems from ProjectEuler.net