Let a polynomial $f(x)$ of degree $n>2$ or more has $n$ number of distinct non-zero roots then we can prove that the equation $$x^2f''(x)+3xf'(x)+f(x)=0~~~~(1)$$ has at least $n$ real root.
Let $g(x)=x f(x)$, then $g(x)=0$ also has $n+1$ distinct roots. By Rolle's theorem $g'(x)=xf'(x)+f(x)=0$ has at least $n$ number of real roots. This implies that $h(x)=x^2f'(x)+xf(x)=0$ has at least $n+1$. Again by Rolle's theorem $h'(x)=0$ which is nothing but the equation (1) has at least $n$ number of real roots.
However, Eq. (1) is Euler's ODE whose solution is obtained by using $f(x)=x^\lambda$, as $\lambda=-1$ is a repeated root, we get a non polynomial solution of Eq. (1) as $$f(x)=(C_1+ C_2 \ln x)/x~~~~(2),$$ which has exactly one real root as $x=e^{-C_1/C_2}$, where $C_1, C_2$ are arbitrary real numbers.
The question is : Do you see a conflict between Euler's ODE and Rolle's theorem with regard to the number of roots of (1)? Any comment is welcome.
Edit:
(1) After the the comment of @fwd we now say that the polynomial $f(x)$ of degree $n$ has $n$-distinct real roots.
(2) Yes, as an ODE (1) is valid for $x>0$ in view of its solution (2). Otherwise as a polynomial Eq. it has many roots.
(3) In any case (1) will have at least one root.
When you write the equation $(1)$, you are not asserting that it holds for all $x$, but rather we seek values of $x$ for which it holds ( these are the roots). If you were asserting that $(1)$ held for all $x$ in some domain, then it is an ODE that can be solved for $f$ which isn't even a polynomial as you observed.
In addition, you say that if $f(x)$ has $n$ distinct zeros, then $xf(x)$ has $n+1$ distinct roots. How do you know $0$ is not one of the roots of $f$?