Rimpiazzato completamente l'algoritmo per la soluzione.  Dovrebbe essere (come minimo) dalle 10 alle 100 volte più veloce del precedente.