# Solving equations numerically

Categories: numerical methods pure mathematics

In this section we will look at exactly what we mean by *solving* an equation, why we might need to use numerical methods to solve an equation.

We will only consider functions of one variable, denoted by $f(x)$.

## Solving an equation f(x) = 0

When we solve an equation, we are finding the values of $x$ for which $f(x)$ meets a particular condition. A common type of equation is:

$$ f(x)=0 $$

In this case we want to find the values of $x$ for which $f(x)$ is zero. For example:

$$ x^3 - 2x^2 -x + 2 = 0 $$

Here is a graph of this function:

In this case the polynomial can be factorised quite easily as:

$$ (x + 1)(x - 1)(x - 2) = 0 $$

Solutions to this equation are -1, 1, and 2.

## Solving an equation f(x) = c

A second type of equation has the form:

$$ f(x)=c $$

Where $c$ is some constant value. This can be rewritten in the form:

$$ g(x)=0 $$

Where:

$$ g(x) = f(x) - c $$

For example the equation:

$$ x^2 + 2x - 2 = 1 $$

Can be rewritten as

$$ x^2 + 2x - 3 = 0 $$

As shown in this graph:

The left had graph shows the solutions to $f(x)=c$, the right hand graph shows the solutions to $g(x)=0$. In both cases the solutions are -3 and 1.

## Solving an equation f1(x) = f2(x)

A third type of equation has the form:

$$ f1(x)=f2(x) $$

In this case we need to find the values of $x$ for which the two formulas have equal values. This can be rewritten in the form:

$$ h(x)=0 $$

Where:

$$ h(x) = f1(x) - f2(x) $$

For example the equation:

$$ x^2 + 2x - 2 = 2 - x^2 $$

Can be rewritten as

$$ 2 x^2 + 2x - 4 = 0 $$

As shown in this graph:

The left had graph shows the solutions to $f1(x)=f2(x)$, the right hand graph shows the solutions to $h(x)=0$. In both cases the solutions are -2 and 1.

## Solving an equation algebraically

In some cases it is possible to find an exact solution for an equation algebraically, for example by rearranging the formula to solve for x:

$$ \begin{align} x^2 = 2\newline x = \sqrt 2 \end{align} $$

Or factorising:

$$ \begin{align} x^2 + 2x - 3 = 0\newline (x + 3)(x - 1) = 0\newline x = -3, 1 \end{align} $$

Or using inverse functions

$$ \begin{align} e^x = 3\newline x = \ln 3 \end{align} $$

Not all equations can be solved in this way. For example, polynomials of degree 5 or higher cannot generally be solved exactly using algebra. In those cases we can use numerical methods.

## Numerical methods

A numerical method is an algorithm that can be used to find an approximate solution to an equation. Most methods use a form of trial and error:

- Starting with an initial trial value for the solution.
- Calculate how inaccurate the trial value is (the error).
- Use a defined method to finding a new trial value that is better than the previous value.
- Check accuracy of the result and repeat from step 2 if necessary.

Since this method gives a numerical answer, it is often only an approximation. However, in most cases it is possible to achieve any required degree of precision by repeating the procedure a sufficiently large number of times. This will normally be done by computer, of course, and for many problems an ordinary PC will be able to calculate an answer to 16 significant figures in a fraction of a second.

For simplicity, most numerical methods work with equations of the form $f(x)=0$. As we have seen, it is easy to convert other types of formula to this form.

It is always useful to have a reasonable idea of how many solutions the equation has, and roughly where the solutions are. If possible it is best to sketch the graph before you start.

## Accuracy of result

In most cases, we will need to check the accuracy of the result to decide if the current result is accurate enough, or if we need to continue looping to gain more accuracy. There are several ways to check the accuracy of the current solution $x$:

- We can check the value of $f(x)$. Usually, the closer the this value is to zero, the closer $x$ is to the solution.
- We can check previous estimates of $x$. If current value and previous value differ by less then 0.1, the value is likely to be accurate to about 1 decimal place. If they differ by less than 0.01, the result is likely to be accurate to about 2 decimal places, and so on.

These techniques assume that the function behaves approximately like a straight line when we get close to the solution. This is the case with a lot of mathematical functions - the more we zoom in on a particular part of the function, the more it looks like a straight line. However, if you are dealing with a function that doesn't behave like that, extra care is needed to ensure that the solution is accurate.

## See also

## Join the GraphicMaths Newletter

Sign up using this form to receive an email when new content is added:

## Popular tags

adjacency matrix alu and gate angle area argand diagram binary maths cartesian equation chain rule chord circle cofactor combinations complex polygon complex power complex root cosh cosine cosine rule cpu cube decagon demorgans law derivative determinant diagonal directrix dodecagon ellipse equilateral triangle eulers formula exponent exponential exterior angle first principles flip-flop focus gabriels horn gradient graph hendecagon heptagon hexagon horizontal hyperbola hyperbolic function infinity integration by substitution interior angle inverse hyperbolic function inverse matrix irregular polygon isosceles trapezium isosceles triangle kite koch curve l system locus maclaurin series major axis matrix matrix algebra minor axis nand gate newton raphson method nonagon nor gate normal not gate octagon or gate parabola parallelogram parametric equation pentagon perimeter permutations polar coordinates polynomial power product rule pythagoras proof quadrilateral radians radius rectangle regular polygon rhombus root set set-reset flip-flop sine sine rule sinh sloping lines solving equations solving triangles square standard curves star polygon straight line graphs surface of revolution symmetry tangent tanh transformations trapezium triangle turtle graphics vertical volume of revolution xnor gate xor gate