rem - return the nth root of real.double value x to stated precision function nthroot(n, x, precision = real.double) = real.double var x0, x1 = real.double x0 = x x1 = x / n rem - initial guess while abs(x1 - x0) > precision do begin x0 = x1 x1 = ((n-1.0) * x1 + x / x1 ^ (n-1.0)) / n end end = x1 rem -- exercise the routine var i = integer print "Finding the nth root of 144 to 6 decimal places" print " x n root" print "------------------------" for i = 1 to 8 print using "### #### ###.######"; 144; i; nthroot(i, 144.0, 1E-7) next i end