L'ottimizzazione proposta è senza dubbio buona (questa, accoppiata ad una mia precedente, mi hanno fatto guadagnare ben 0.5 secondi )

Io penso di aver strutturato proprio male l'algoritmo, per questo cercavo una soluzione.

Un mio amico, addirittura usando le list del .NET e C#, sostiene che a lui ci mette 2 secondi, e con valore di Epsilon ancor piu' piccolo del mio(0.5 mio contro 0.001, che vuol dire cicli ancor piu' lunghi): ecco da dove nasce il mio dubbio.
Cercherò di sgraffignarmi il suo codice,intanto se avete idee....