a bracketed solution. Note however, that due to
 the finite/limited precision of Java's <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang"><code>double</code></a> type, which is
 used in this implementation, the algorithm may get stuck in a situation
 where it no longer makes any progress. Such cases are detected and result
 in a <code>ConvergenceException</code> exception being thrown. In other words,
 the algorithm theoreticall