Problem about real coefficient polynomial 
Let $p(x)$ be a real coefficient polynomial. Assume that there exits $a\in \mathbb{R}$ s.t. $p(a)\neq 0$ but $p'(a) = p''(a) = 0$. Show that $p(x)$ has at least one non-real root. 

This is a problem from today's exam, and actually, I already have a solution. However, I can't understand the solution, so I tried to do it my self in the following direction:
Assume that $p(x)$ is a monic polynomial. We can just set $p(x) = (x-a)^{3}q(x) + B$ for some $B\neq 0$. If $p$ has only real roots, we have $p(x) = (x-\alpha_{1})\cdots (x-\alpha_{n})$ for some $\alpha_{1}\leq \cdots \leq \alpha_{n}$. Then we have $(x-a)^{3}q(x)+B = (x-\alpha_{1})\cdots(x-\alpha_{n})$, and I can' proceed from here. 

Here's the original solution:

Solution:
  Observe that if $q(z)$ is a real-rooted polynomial with distinct roots, then by Rolle’s theorem $q'(z)$ is also real-rooted (since it has degree one less than the degree of $q$) and has the property that between every two roots of $q'$ there is a root of $q$.
  Since polynomials with distinct roots are dense in the set of real-rooted polynomials, this implies that if $q$  is any real-rooted polynomial and $q'(z)$ has a double root at $z$ then $q(z) = 0$.
For the given polynomial $p'(z)$ has a double root at $a$, but $p(a) \neq 0$, so $p$ cannot be real-rooted.
(Original image here.)

 A: Honestly, I find the "original solution" to be quite hand-waving the density argument.
For an alternative direct proof, consider that translation along the $\,x\,$ axis preserves the nature of the roots (real vs. complex) of a real polynomial, so it can be assumed WLOG that $\,a=0\,$, then:
$$p(x)=a_nx^n+a_{n-1}x^{n-1}+\ldots+a_3x^3+a_0 \quad\quad \style{font-family:inherit}{\text{with}} \;\;a_n \ne 0\;\;\style{font-family:inherit}{\text{and}}\;\;  p(0)=a_0 \ne0$$
If the roots of $\,p(x)\,$ are $\,x_i \ne 0\,$ then the polynomial having as roots $\,y_i=1 / x_i\,$ is:
$$q(y)=y^np\left(\frac{1}{y}\right)=a_0y^n+a_3y^{n-3}+\ldots+a_{n-1}y+a_n$$
By Vieta's relations $\,\sum_i y_i = 0\,$ and  $\,\sum_{i \lt j} y_iy_j = 0\,$, so $\,\sum_i y_i^2 = \left(\sum_i y_i\right)^2-2\sum_{i \lt j} y_iy_j=0\,$. If all $\,y_i\,$ were real, that would imply $\,y_i=0\,$, but $\,a_n \ne 0\,$ so none of the roots can be $\,0\,$. It follows that not all $\,y_i\,$ can be real, and therefore not all of $\,x_i\,$ are real.
