un modo può essere quello che ti allego,
tieni presente che le combinazioni sono molte percui ci vuole un bel po' (una decina di minuti), inoltre il codice è così impegnativo da impere altre operazioni sulla gui.
al centro dei loop trovi un wait che rallenta l' esecuzione ma evita che la gui freeze.
volendo puoi inserire un valore dopo il wait per permette altre operazioni, ma questo vorrà dire un ulteriore aumento del tempo necessario
in questo caso gambas3 è molto più performante (primo file, per gambas2 secondo file)