I am interested in knowing the number of roots of a function which can be transformed in into a polynomial with a simple substitution. For eg: $Bx + C\sqrt{x} + D = 0$, which can be transformed into a polynomial with substituting $y = \sqrt{x}$.
I can't just say that #roots is the degree of polynomial after substitution because it does not work.
eg: $x^2 - 5x -5(x)^{1/2} +4=0$ has 2 real roots.
$x^2 -20x +50 \sqrt{x} -6 = 0$ has 2 complex and 1 real roots.
Any easy way to do this other than solving the polynomial itself ?
It depends very much on what kind of substitution you do. Let's say that it is $y=f(x)$.
For each root $y_0$ of the polynomial on $y$, there will be as many roots of the pseudo-polynomial as elements in the set $f^{-1}(\{y_0\})$. So, for example, if $f$ is a bijection, pseudo-polynomial on $x$ and polynomial on $y$ have the same number of roots.