Find polynomials $P(x)P(x-3) = P(x^2)$ 
Find all polynomials  $P \in \Bbb R[x]$ such that $P(x)P(x-3) = P(x^2) \quad \forall x \in \Bbb R$

I have a solution but I'm not sure about that. Please check it for me.
It is easy to see that $P(x) = 0, P(x) = 1$ satisfied.
Consider $P(x) \neq c$ :
We have $P(x+3)P(x) = P((x+3)^2)$
If $a$ is a root of $P(x) $ then $a^2$ and $(a+3)^2$ are roots of $P(x)$.
If $|a| > 1$, then $ |a^2| = |a||a| > |a| \Rightarrow P(x)$ has infinitely many roots.
If $0 < |a| < 1$, then $|a^2| = |a||a| < |a| \Rightarrow P(x)$ has infinitely many roots.
If $a = 0 \Rightarrow (a+3)^2 = 9$ is a root of $P(x)$, so  $P(x)$ has infinitely many roots.
Hence, every root $a$ of $P(x)$ has $|a| = 1$. So $1 = |(a+3)^2| = (|a+3|^2) \Rightarrow |a+3|=1$.
We have $a + 3 = \cos\alpha + i\sin\alpha + 3 \Rightarrow (\cos\alpha+3)^2 + \sin^2\alpha = 1 \Rightarrow \cos\alpha = -\frac{3}{2}\ (\text{impossible}).$
$P(x) = 0, P(x) = 1$ are all the results.
 A: Considering 
$$
P(x)P(x-b)=P(x^2),\ \ \ b \ne 0\ \ \ \ (1)
$$
As long as $P(x^2)$ is even then $P(x)P(x-b)$ is also even then
$$
P(b)P(0) = P(b^2)
$$
because making $x = b$ in $(1)$ we have $P(b)P(0) = P(b^2)$, As this is for a generic $b$ we have $P(x)P(0) = P(x^2)$
or
$$
P(x)P(0) = P(x^2) = P(-x)P(-(x+b))
$$
which implies that $P(x)$ is even as well as $P(x+b)$ 
This should be true for all $b \ne 0$ so the solution is $P(x) = C_0$
Finally, according to $C_0^2=C_0$ we conclude that $C_0 = 0$ or $C_0 = 1$
A: Your  approach  is sound and the arguments besides  the last case $|a|=1$ are clear. Here  is  a slightly more stringent variant, which does not bring anything new, besides maybe the modified argument for the case $|a|=1$.

We are looking for all polynomials $P\in\mathbb{R}[x]$ such that 
  \begin{align*}
P(x)P(x-3)=P(x^2)\qquad \forall x\in\mathbb{R}\tag{1}
\end{align*}

Proof:

  
*
  
*Constant  Polynomial $P$: At first we look at polynomials $P(x)=c$ which are constant. From (1) we obtain
  \begin{align*}
c^2&=c\\
c(c-1)&=0\tag{2}
\end{align*}
  Since the equation (2) is solved iff  $c=0$ or $c=1$, these are the only solutions when $P$ is a constant polynomial.
  

In the following we consider all possible cases when $P$ has a root $a\in\mathbb{R}$. We divide the cases into
\begin{align*}
|a|>1,\qquad 0<|a|<1,\qquad a=0,\qquad a=-1\quad \text{and} \quad a=1
\end{align*}
which cover all possibilities.

  
*
  
*Root $P(a)=0$ with $|a|>1$:
Let $a\in\mathbb{R}$ with $|a|>1$. We get from (1)
  \begin{align*}
P(a^2)=P(a)P(a-3)=0\cdot P(a-3)=0\tag{3}
\end{align*}
From (3) we conclude that there is an infinite sequence $(a^{2n})_{n\geq 0}$ of pairwise different roots of $P$. Thus, $P$ has infinitely many roots and it follows $P$ is the zero-polynomial: $P=0$.

In the same way we can treat the next case.

  
*
  
*Root $P(a)=0$ with $0<|a|<1$:
Let $a\in\mathbb{R}$ with $0<|a|<1$. We get from (1)
  \begin{align*}
P(a^2)=P(a)P(a-3)=0\cdot P(a-3)=0\tag{4}
\end{align*}
From (4) we conclude as we did in the case before that there is an infinite sequence $(a^{2n})_{n\geq 0}$ of pairwise different roots of $P$. Thus, $P$ has infinitely many roots and it follows $P$ is the zero-polynomial: $P=0$.

Three more cases to follow:

  
*
  
*Root $a=0$:
Let $a=0$ with $P(0)=0$. We get from (1) setting $x=3$
\begin{align*}
P(9)=P(3)P(0)=P(3)\cdot 0=0
\end{align*}
We see that $9$ is also a root of $P$. We are now in the case with root $|a|>1$ and conclude $P=0$.
  
  
*
  
*Root $a=-1$:
Let $a=-1$ with $P(-1)=0$. We get from (1) setting $x=2$
\begin{align*}
P(4)=P(2)P(-1)=P(2)\cdot 0=0
\end{align*}
We see that $4$ is also a root of $P$. We are now in the case with root $|a|>1$ and conclude $P=0$.
  
  
*
  
*Root $a=1$:
Let $a=1$ with $P(1)=0$. We get from (1) setting $x=4$
\begin{align*}
P(16)=P(4)P(1)=P(4)\cdot 0=0
\end{align*}
We see that $16$ is also a root of $P$. We are now in the case with root $|a|>1$ and conclude $P=0$.

Conclusion: We have covered all types of different polynomials which fulfill the relationship (1) and conclude that $\color{blue}{P=0}$ and $\color{blue}{P=1}$ are the only solutions of (1).$\qquad\qquad\qquad\Box$
Note: When making rigorous proofs we should avoid phrases like: It is clear that ..., It is easy to see that .... It is much more preferable  to prove even seemingly simple things, just to be sure that we don't overlook anything.
A: You point out that if $a$ is a root then $a^{2}$ is a root and $a+3$ is a root.
You don't need to divide into three cases to determine that means either infinitely or zero roots. 
By induction  $a + 3k; k \in \mathbb N$ are roots.  If $j\ne k$ then $a+3j \ne a + 3k$ so if there is one root $a$ there are at least countably infinite distinct roots.  So there are either zero roots, of infinitely many roots.
Magnitude is irrelevant[1]
Only trivial constant polynomials have infinite or zero (complex) roots so that means $P(x) = c$ for some $c$ where $c^2 = P(x)P(x-3) =P(x^2) = c$.
[1]
Although if $a$ is a root then $a +3$ is a root.  And  if $|a+3| < 1$ then $|a+3| + |a|=|a+3| + |-a| \ge |(a+3)+(-a)| =|3|=3$ so $|a|\ge 3-|a+3| > 2$.  So at least one root is $\ge 1$.
