Поскольку вам нужна наименьшая фиксированная точка, вы не сможете уйти, не найдя все действительные корни P (x) - x и не выбрав наименьшее.
Найти все корни полинома хитрая тема .Если у вас есть рутина черного ящика, то обязательно используйте ее.В противном случае рассмотрим следующую уловку:
но для этого требуется, чтобы у вас был доступ к подпрограмме для поиска собственных значений (это еще одна сложная проблема, но есть много хороших библиотек).
В противном случае вы можете реализовать Jenkins-Traub алгоритм, который является весьма нетривиальным фрагментом кода.
Я действительно не рекомендую находить ноль (например, с помощью метода Ньютона) и выкачивать до достижения первой степени: это очень нестабильно, если не сделано должным образом, и вы потеряете много точности (и с этим очень трудно справиться с несколькими корнями).Правильный способ сделать это на самом деле вышеупомянутый алгоритм Дженкинса-Трауба.