Тут есть несколько моментов:
1) Численное решение уравнений (в действительных числах) обычно подразумевает некоторый интервал, на котором ищется решение. Поэтому для нахождения всех корней какого-то полинома его корни сначала локализуют (т.е. находятся интервалы на которых присутстсвует ровно по одному корню) методами типа метода Штурма, а затем уже отыскивают численными методами.
2) С перечисленными пакетами я не знаком, но, например, в мапле все корни полинома можно найти так:
evalf(solve(x^7+x^2-1000));
3) Уравнение вида
можно решить аналитически, не прибегая к численным методам, сделав замену
и сведя уравнение к кубическому и воспользовавшись формулой Кардано.