I have numerous, univariate polynomials with degree in excess of 100 and with very, very large coefficients (Here's an example coefficient 38469421328014500578980379194576601472894800013008451365990812034977696803525209569266174807919)
Because of the large size of these coefficients (and degree) every solver that I have looked at has failed due to loss of precision. To get around this, I would like to implement my own solver that uses the GNU multiple precision arithmetic library so that I won't have any precision problems.
The approach that I have been considering is to use newton's method to find all roots on the interval [0,1] or lack thereof (I was previously looking at Sturm's theorem to check if I have all of them, but some of the polynomials are not square free). However, finding one root or seven does not mean that all have been found.
With that said, is there a technique to pick a set of starting points that ensures all roots are found on a particular interval? Or better, is there a better approach to this that is both simple to understand and computationally efficient?