Function fixed_point(p0, N) approximates the solution of an equation f(x) = 0, rewritten in the form x = g(x), which is a sub-function the user has to enter. the call to the function fixed_point(p0, N) returns the root of the equation f(x),i.e. the fixed-point of g(x), if the procedure is successful or a sequence of iterates in case something goes wrong. p0 is the initial approximation and N the maximum number of iterations. If, after N iterations, condition |x(k) - x(k-1)| < tol is not satisfied, all iterated values will be displayed, accompanied by a message asking the user to either change p0 in case of divergence or enter another g(x) that does not lead to complex numbers arithmetics. Reasons for the program to go wrong are the divergence of iterates and/or appearance of complex numbers for example with functions involving sqrt(x) when one of the iterates is negative.