How to compute the (real) roots of

$$\sum_{i=1}^n \frac{c_i}{(a_i + b_i \cdot x)^p}$$

for given reals $a_i, b_i, c_i$, and positive integers $n, p$? The cases $p=1, ..., 5$ and $n=6, ..., 20$ would already be very useful for me. I actually just need any root in a given interval.

Multiplying by the denominators, this task can be reduced to finding roots of a polynomial, but this only works for very small $n$ whereas even for $n=8$ the coefficients in the polynomial are numerically unstable.

The only other method I could think of is using binary search (aka the bisection method). But this is too slow. Is there a faster method that is numerically stable?