# Numerical solution

I am trying to numerically solve the following system of nonlinear equations

$$x_1=f_1(x_2-x_1)$$
$$x_2=f_2(x_3-x_2)$$
.
.
.
$$x_{n-1}=f_{n-1}(x_n-x_{n-1})$$
$$x_n=f_n(x_1-x_n)$$

the method that I am using is to assign an initial value to the array $$[x_2-x_1,x_3-x_2,...,x_1-x_n]$$, use the array to find the values of $$x_1,...,x_n$$ from the equation above, recalculate the array using the newly found values of $$x_1,...,x_n$$ , and repeat the process until it converges. However, during the iterations I come up with very large values (in the order of $$10^{180}$$) which disables the computer to continue. Is there a method to control the values at each iteration (such as adding normalization factor) to avoid this issue? I am sure that the solution to the system of equations exists.
Thanks.

If we rewrite the system using the new variables $$z_1=x_2-x_1, z_2 = x_3-x_2, \cdots z_{n-1}=x_n-x_{n-1}, z_n = x_1-x_n$$
we get $$\begin{cases} z_1 &= f_2(z_2)-f_1(z_1)\\ z_2 & = f_3(z_3)-f_2(z_2)\\ &\vdots\\ z_{n-1} & =f_n(z_n)-f_{n-1}(z_{n-1})\\ z_n &= f_1(z_1)-f_n(z_n) \end{cases}$$
The fixed point method amounts to start with an initial guess $$z^{(0)}$$ and iterate using $$z_i^{(k+1)} = f_{i+1}(z_{i+1}^{(k)})-f_i(z_i^{(k)}), \quad i = 1, \cdots, n$$ (using the notation $$f_{n+1} := f_1$$ )
The convergence of this method depends heavily on the properties of $$f_1, \cdots ,f_n$$ and, without further information, it is not possible to help you. Normalization will not help you... If the method does not converge you need to rewrite the system and get a different iteration function.
• The original question is more complicated than the one posted here, but let's say that each $f_i$ is a polynomial of degree 6. – Salo Sep 27 '19 at 9:40