Solve exponential-polynomial equation Solve the equation in $\mathbb{R}$
$$10^{-3}x^{\log_{10}x} + x(\log_{10}^2x - 2\log_{10} x) = x^2 + 3x$$

To be fair I wasn't able to make any progress. I tried using substitution for the logarithms, but it didn't help at all. 
This is a contest problem, so there should be a nice solution.
Any help? Clue?

Clearly $x > 0$.  Let $x = 10^y$.  Then we have $10^{-3}x^y + x(y^2 - 2y) = x^2 + 3x$.
$$\iff 10^{-3}x^{y-1} + (y-3)(y+1) = x$$
$$\iff 10^{y^2-y-3} + (y-3)(y+1) = 10^y$$
$$\iff \underbrace{10^y(10^{(y-3)(y+1)}-1)} + \underbrace{(y-3)(y+1)} = 0$$
Now note that if $(y-3)(y+1) > 0$, both terms on the left are positive, hence the equation cannot have a solution.  Similarly, if $(y-3)(y+1) < 0$, both terms are negative and again we cannot have a solution.  Hence the only solutions are when $(y-3)(y+1) = 0 \implies y \in \{-1, 3\} \implies x \in \{\frac1{10}, 1000\}$.
