Consider the polynomial equation
$$\prod_{i=1}^m (x - a_i) = \prod_{j=1}^n (x - b_j)$$
One way to solve it numerically is to convert it to a coefficient representation and use a root-finding method (like Sturm sequences) to solve the resulting degree-$\max(m,n)$ polynomial.
However, the above approach feels rather "dirty" to me, for reasons I can't really pin down.
What I'm wondering is, are there direct algorithms for solving such equations, i.e. (hopefully elegant) ones specifically designed for such pre-factored representations of a polynomial?