fiz há cerca de 30 anos um programa para fechar todas as combinações possíveis de uma quantidade determinada de números, indicados pelo usuário. me lembro que havia limitação para o máximo de 2 números seguidos na horizontal, vertical e diagonais. não sei se alguém ganhou alguma coisa com ele. foi escrito em pascal.