Очень знакомая проблема. Но первопроходцы уже по этому пути прошли. Следуйте данному курсу и Вам не придётся проламывать лёд. У меня стояла задача поиска всех a, b, c в пределах ограниченного диапазона, где a*b*c <или = N^3, где N — любое целое число. Поэтому в моём коде дополнительно включена автоматизация диапазонов, по которым пробегают переменные a,b, c. Если Вам эта автоматизация диапазонов не нужна — уберите её из циклов. Но для Вас в первую очередь настройка начального элемента в каждом диапазоне — её не трогайте — в ней основное решение Вашей проблемы. Как раз эта настройка полностью исключает повторения комбинаций abc. Начало следующего цикла автоматически подстраивается под изменение начала предыдущего цикла:
Изучите хорошенько код, чтобы перенастроить его под свою задачу.
Код написан на питоне(Бейсик не изучал — в наше время в школе программирования не было — но с питоном я думаю разберётесь. Знак ** — это возведение в степень. L.append(1) записывает единичку в список L = []. Вы можете в конце вывести все тройки a,b,c через print()).