А есть возможность просчитать все эти варианты?
Вроде бы, их бесконечно много.
Может есть какая нибудь возможность получить первый попавшийся результат. Либо получить один результат, соответствующий определённым критериям / условиям, продиктованными требованиями пользователя, например предпочтение какой либо переменной (очень грубо говоря).
Взять даже ваш пример:
Для многочленов от нескольких переменных, например,
можно выбрать, например, представления
и не будет никакого критерия выбрать один из этих вариантов (или какой-то третий).
Все одночлены записываются в массив и сортируются по степени и алфавиту.
Потом для первой, по алфавиту, переменной, в данном случае
, осуществляется поиск всех одночленов содержащих эту переменную; эта переменная выводится "за скобки", а в скобках все одночлены делятся на эту переменную. Потом этот процесс повторяется рекурсивно для одночленов находящихся внутри этой скобки (или нет? я не знаю как правильно осуществлять факторизацию), после обрабатывается следующая переменная по алфавиту.
Не хотелось бы вовлекать рассуждения о способах реализации с точки зрения программирования, т.к. компьютерная программа лишь инструмент для реализации математических алгоритмов (в этом случае).