Código reorganizado (e reduzido). Conserto no algoritmo de radiciação.