　$P(x) = 0$ の解を重複も込めて $x_1,x_2,\ldots,x_{512}$ とする．このとき，
$$P(x) = (x-x_1)(x-x_2)\cdots(x-x_{512})\equiv(x_1+1)(x_2+1)\cdots(x_{512}+1) \pmod{x+1}$$
であるから，
$$(x_1+1)(x_2+1)\cdots(x_{512}+1) = 10^{1536}$$
である．ここで，相加相乗平均の不等式より，任意の正の実数 $y$ に対して
$$y + 1 = 999\times\frac{y}{999} + 1 \ge 1000\bigg(\frac{y}{999}\bigg)^{999\/1000}$$
が成立する．これを整理すると，
$$y \le 999\bigg(\frac{y+1}{1000}\bigg)^{1000\/999}$$
となる．従って，
$$\begin{aligned}
P(0) &= x_1x_2\cdots x_{512}\\\\
&\le 999^{512}\bigg(\frac{x_1+1}{1000}\bigg)^{1000\/999}\bigg(\frac{x_2+1}{1000}\bigg)^{1000\/999}\cdots\bigg(\frac{x_{512}+1}{1000}\bigg)^{1000\/999}\\\\
&= 999^{512}
\end{aligned}$$
である．等号は $P(x) = (x-999)^{512}$ のとき成立するので，$M = 999^{512}$ である．特に，解答すべき値は $\bf788481$ である．
公式解説
https://onlinemathcontest.com/contests/omc208/editorial/6082
　[公式解説](https:\/\/onlinemathcontest.com\/contests\/omc208\/editorial\/6082) 同様に, 問題を $\prod\_{i=1}\^{512}(x\_{i}+1)=10\^{1536}$ のもとでの $\prod\_{i=1}\^{512}x\_{i}$ の最大化に帰着した後の話です.  

　以下では最大値が存在することが保証された上でその最大値を求める議論です.  
最大値の存在が保証されていない場合にはもう一段階議論が必要な事に注意してください. 

$x\_i\neq x\_j$ なる $i,j$ が存在するとします.   
$x\_{i}\prime=x\_{j}\prime=\sqrt{(1+x\_i)(1+x\_j)}-1$ とします.  
この時, $(1+x\_i)(1+x\_j)=(1+x\_i\prime)(1+x\_j\prime)$ であり,   
$x\_{i}\prime x\_{j}\prime-x\_ix\_j=(1+x\_i)+(1+x\_j)-2\sqrt{(1+x\_i)(1+x\_j)}\gt 0$ です.   
従って, $x\_i\neq x\_j$ なる $i,j$ が存在するなら, この $2$ つの値を変更することで, 目標の値をより大きくできることが分かりました.  

よって, 最大値が存在するならば $x\_1=x\_2=\dots=x\_{512}$ の時であることが分かり, 特に今回の場合その値は $999$ となります.
最大値の存在が保証された上での解法
https://onlinemathcontest.com/contests/omc208/editorial/6082/413
正の実数 $x_1,\ldots,x_{512}$ に対して，
$$
(x_1+1)(x_2+1)\cdots(x_{512}+1) = 10^{1536}
$$
という制約のもと，$y=x_1x_2\cdots x_{512}$ を最大化する，というところまでは[公式解説](onlinemathcontest.com\/contests\/omc208\/editorial\/6082)と同様．以下を用いる．
  
**ヘルダーの不等式**  
$n,m$ を正整数として，$a_{i,j} \geq 0, w_i \gt 0, \displaystyle \sum_{i=1}^n w_i = 1$ なる実数列 $a_{1\leq i \leq n,1\leq j \leq m},w_{1\leq i \leq n}$ に対して，
$$
\prod_{i=1}^n(\sum_{j=1}^m a_{i,j})^{w_i} \geq \sum_{j=1}^m(\prod_{i=1}^n a_{i,j})^{w_i}
$$
が成立する．等号成立は比 $a_{1,j}:a_{2,j}:\cdots :a_{n,j} (j=1,\ldots m)$ がすべて等しいとき．

上記を，$n=512,m=2,w_i=\frac{1}{512}$ として適用すると，以下の不等式を得る．
$$
\prod_{i=1}^{512}(\sum_{j=1}^{2} a_{i,j})^{\frac{1}{512}} \geq (\sum_{j=1}^{2}(\prod_{i=1}^{512} a_{i,j})^{\frac{1}{512}})
$$

「$512$ 系列に対するコーシーシュワルツの不等式」をイメージするとよい．ここで 
$a_{i,1}=x_i,a_{i,2}=1$ とすると，ヘルダーの不等式の左辺は $\prod(x_i+1)^{\frac{1}{512}} = ((x_1+1)(x_2+1)\cdots(x_{512}+1))^{\frac{1}{512}} = 10^{3}$ と一致し，右辺は $\prod_{i=1}^{512} x_i^{\frac{1}{512}} + 1 = y^{\frac{1}{512}} + 1$ となるため，$999^{512} \geq y$ となる．等号は $x_1 = \cdots =x_{512}=999$ の時成立するため， $M =999^{512} = 3^{1536}37^{512}$ から約数の個数は $\mathbf{788481}$ とわかる．
ヘルダーの不等式を用いた最大値算出
https://onlinemathcontest.com/contests/omc208/editorial/6082/420
　$512$ 次の実数係数多項式 $P(x)$ があり，$512$ 次の係数は $1$ です．$P(x)$ を $x+1$ で割った余りは $10^{1536}$ であり，方程式 $P(x)=0$ の複素数解はすべて正の実数でした．$P(0)$ としてありうる最大値を $M$ とします．ここで，$M$ は存在し，正の整数となることが保証されます．$M$ がもつ正の約数の個数を求めてください．