program newton_raphson
implicit none
real :: x, xnew, y, yprime
real, parameter :: pi = 3.14159265358979323846
real, parameter :: tolerance = 1e-5! 收敛精度
x = 1.0! 初始猜测值
do
y = (sqrt(pi)*x**2*exp(x))/(exp(x) - 1) - 8
yprime = ((2*sqrt(pi)*x*exp(x)+sqrt(pi)*x**2*exp(x))*(exp(x)-1)-sqrt(pi)*x**2*exp(x)*exp(x))/((exp(x)-1)**2)
xnew = x - y/yprime
if (abs(xnew - x) < tolerance) exit
x = xnew
end do
print *, 'The root is:', xnew
end program newton_raphson