Refatorando solver e trocando threads por recursão