java bigdecimal third root
public static long ITER = 1000; public static BigDecimal cuberoot(BigDecimal b) { // Specify a math context with 40 digits of precision. MathContext mc = new MathContext(40); BigDecimal x = new BigDecimal("1", mc); // Search for the cube root via the Newton-Raphson loop. Output each // successive iteration's value. for (int i = 0; i < ITER; i++) { x = x.subtract( x.pow(3, mc) .subtract(b, mc) .divide(new BigDecimal("3", mc).multiply( x.pow(2, mc), mc), mc), mc); } return x; }