Find all cubic polynomials $p$ and $q$ so that $p(0)=-24,q(0)=30, p(q(x)) = q(p(x))\,\forall x\in\mathbb{R}$. 
Find all cubic polynomials $p$ and $q$ so that $p(0)=-24,q(0)=30, p(q(x)) = q(p(x))\,\forall x\in\mathbb{R}$.

Write $p(x) = p_3 x^3 + p_2x^2 + p_1x+p_0, q(x) = q_3x^3 + q_2 x^2 + q_1x+q_0,$ where we know that $p_0=-24, q_0=30$. Then $p(q(x)) = q(p(x))\Rightarrow p_3 q(x)^3 + p_2 q(x)^2 + p_1q(x)+p_0 = q_3p(x)^3 + q_2p(x)^2 + q_1p(x)+q_0,$ which seems like a rather complex expression. Comparing leading coefficients, we see that $q_3 p_3^3 = p_3 q_3^3\Rightarrow p_3^2 = q_3^2,$ so $p_3=\pm q_3$. It could be useful to find the roots of p and/or q and/or obtain some useful bounds on them. For instance, if x is a root of p, then by the triangle inequality, $|p_3 x^3|\leq \sum_{i=0}^2 |p_i x^i|.$ I also know the more general fact that for complex numbers x and y, $|x+y|\leq |x|+|y|$ with equality if and only if $x$ and $y$ are collinear and are in the same direction, or at least one of x and y is zero. We know that $p(30) = q(-24)$.
I know that if I let $h(x) = x+b$ for some real number b, then $h^{-1}(x)=x-b$ and that if $f$ and $g$ are commuting cubic polynomials, then $h\circ f \circ h^{-1}$ and $h\circ g\circ h^{-1}$ commute as well. Clearly the polynomials $f(x)=ax^3$ and $g(x)=-ax^3$ commute for any nonzero real constant $a$. We have $h\circ f\circ h^{-1} = a(x-b)^3 + b, h\circ g\circ h^{-1} = -a(x-b)^3+b.$ Then note that using this new form, we can obtain commuting polynomials $p$ and $q$ satisfying $p(0)=-24,q(0)=30$. Indeed, we just need to choose a,b so that $-ab^3+b=-24,ab^3+b=30.$ We have $2ab^3=54\Rightarrow ab^3=27, 2b=6\Rightarrow b = 3.$ So $a=1$.
 A: A direct calculation as follows may suffice.
Put $p(x) = p_3 x^3 + p_2 x^2 + p_1 x+p_0, q(x) = q_3 x^3 + q_2 x^2 + q_1 x+q_0$, where I assume $p_i, q_i$ are real numbers with $p_3 q_3\neq 0$.
Looking at the coefficients of terms of $x^9, x^8, x^7$ in the equation $p(q(x))=q(p(x))$, we have
$$\begin{split}
& p_3q_3^3=q_3p_3^3\\
& p_3\cdot 3q_3^2q_2=q_3\cdot 3p_3^2p_2\\
& p_3(3q_3^2q_1+3q_3q_2^2)=q_3(3p_3^2p_1+3p_3p_2^2).
\end{split}$$
Now we have two cases from the 1st equation: (1) $p_3=q_3$, or (2) $p_3=-q_3$. In case (1), $p_2=q_2$ and $p_1=q_1$ follows from the remaining equations. We see that $p(x)-q(x)$ is a constant which equals $p(0)-q(0)=-54$, so $p(x)=q(x)-54$. Substituting this into $p(q(x))=q(p(x))$, we get
$$q(q(x))-54=q(q(x)-54)\quad (\forall x\in \mathbb{R}).$$
Next we use the fact that the function $\mathbb{R}\rightarrow \mathbb{R},\ x\mapsto q(x)$ is surjective since $q(x)$ is a cubic polynomial, by the intermediate value theorem. Then, the above is equivalent to that
$$q(x)-54=q(x-54)\quad (\forall x\in \mathbb{R}).$$
This is impossible, however: if we differentiate twice, we get $q''(x)=q''(x-54)$,
which forces $q_3=0$, a contradiction. Therefore, we proceed to case (2).
Here, $p_2=-q_2,\ p_1=-q_1$ follows from the rest of equations. Therefore, $p(x)+q(x)$ is a constant which equals $p(0)+q(0)=6$. The same argument as in (1)
now shows $-q(q(x))+6=q(-q(x)+6)$, which is equivalent to
$$-q(x)+6=q(-x+6) \quad (\forall x\in \mathbb{R}).$$
We put $r(x):=q(x+3)$. Then, $r(x)$ is a cubic polynomial with $r(x)+r(-x)=6$. Therefore, $r(x)=ax^3+bx+3$ for some $a\neq 0$ and $q(x)=a(x-3)^3+b(x-3)+3$. Finally, $q(0)=30$
forces $b=-9(a+1)$, so
$$q(x)=a(x-3)^3-9(a+1)(x-3)+3,\quad p(x)=-a(x-3)^3+9(a+1)(x-3)+3\quad (a\neq 0).$$
That these functions satisfy the conditions is clear from the argument.
