Я разработал код ниже для нахождения корней данного полинома. Он работает нормально, но мне нужно адаптировать его, чтобы найти все корни, а не просто остановиться, когда он сходится Как мне это сделать? Я думал о создании внешнего цикла do для значений x, но я не уверен, что это правильный подход. Любая помощь приветствуется, спасибо заранее.
PROGRAM nr
integer :: i
real :: x, f, df
write(*,*) "x=?"
read (*,*) x
write (*,*) '# Initial value: x=',x
do i=1,100
f= x**4 - 26*(x**3) + 131*(x**2) - 226*x + 120
df = 4*(x**3) - 3.0*26*(x**2) + 2.0*131*x - 226
write (*,*) i,x,f,df
x = x-f/df
end do
write (*,*) '#x = ',x
END PROGRAM