1. A method of improving fault tolerance in a computing system arranged to find a computational solution, the method comprising: computing at least two versions of the solution by using a hierarchy of at least two different solvers in parallel; and if there is a fault during execution of a first solver resulting in a missing value, substituting a value from a second solver that is lower in the hierarchy to replace the missing value.