Если вы не можете найти какое-то особое условие, чтобы уменьшить проблему, вы никогда не решите ее. Не беспокойтесь о реализации языка, пока вы не узнаете, что эта проблема даже теоретически возможна.
Как уже упоминали другие, эта проблема растет в геометрической прогрессии. Решение для 22 элементов даже не близко к решению для 80.
A алгоритм динамического программирования может быть в состоянии быстро найти, существует ли одно решение проблемы подмножества сумм. Но поиск всех решений требует тестирования 2 ^ 80 комплектов.
2 ^ 80 = 1 208 925 819 614 629 174 706 176. Это 1.2e24.
Это большое число. Давайте сделаем безумно оптимистичное предположение, что процессор может тестировать один миллиард наборов в секунду. Купите миллион из них, и вы сможете найти ответ примерно через 38 лет. Может быть, когда-нибудь квантовый компьютер сможет решить эту проблему быстрее.
Это может помочь объяснить, что именно вы пытаетесь сделать. Если нет какого-то особого условия, какого-то способа устранить большую часть обработки и избежать грубого решения, я не вижу никакой надежды на решение этой проблемы. Возможно, это вопрос к сайту Теоретическая информатика .