Branch points of an equation I was reading the Mathematica Guidebook to Symbolics by Michael Trott, and saw the following expression to evaluate the branch points of a Riemann surface given by $f(x,a)=x^3+x^2+ax-1/2$.
Eliminate[{#==0},D[#,x]==0},x]&[eq=x^3+x^2+ax-1/2]

This gives the result $36a-4a^2+16a^3+19=0$. The roots of this equation are the branch points of $f(x,a)$.
My question is: Why is this so? How does eliminating $x$ from $f(x,a)=0$ and $\dfrac{df(x,a)}{dx}=0$ lead us to the solution? 
NOTE: I'm not asking for an explanation of the Mathematica command... I don't get the math behind it.
 A: Imagine the plane $(x,a)$ where the equation $f(x,a)=0$ gives a curve $C$. We project the curve onto the $a$-axis. Branch points are the points on the $a$ axis over which the projection "is not so nice". You can imagine e.g. the points over which the projection "folds", e.g. if $f(x,a)=x^2-a$ then $a=0$ is such a point.
Now you have to imagine, though, that $a$ and $x$ are complex numbers (and hence $a$ is a point in a plane, and $C$ is 2-dimensional). Over a general point $a$ the equation $f(x,a)=0$ has $n$ different solutions (for $x$), where $n$ is the degree of $f$ as a polynomial in $x$ (in your case $n=3$). We have $n$ different solutions iff $f(x,a)=0$ and $df(x,a)/dx=0$ (for this given $a$) don't have a common root. Over such points $C$ covers the plane of $a$'s in $n$ sheets. When, however, $f(x,a)=0$ and $df(x,a)/dx=0$ do have a common root, the number of roots of $f(x,a)=0$ is less than $n$, so over these points $a$ some of the sheets meet. These are the branch points. In fact, what happens, if you go around such a point then you would see that you get from one sheet (also called one "branch") to another. That's why these points are called branching.
(I skipped some unimportant technical details)
A: Branch points will occur at values of $x$ which are double or higher roots of $f(x,a)=0$, that is, where $f(x,a)$ and $f_x(x,a)$ have common zeros. "Elimination of x from $f(x,a)$ and $f_x(x,a)$" amounts to running the Euclidean algorithm on $f$ and $f'$, where the field of coefficients is rational functions of $a$ with complex coefficients. The expression the algorithm produces is the (non-zero, constant) GCD, unless $f(x,a)$ and $f_x(x,a)$ have a common factor for every $a$, as in $f(x,a)=(x-a)^2$. Avoiding that kind of degeneracy, for only finitely-many values of $a$ that GCD vanishes, which shows a non-trivial GCD.
