Да, Вы правы есть разные типы задач. Для начала хотелось определиться с уравнениями из целых переменных и целых констант.
В книгах описано много разных классов задач и алгоритмы для их решения. Но алгоритмы чаще всего даются в виде, который может выполнить человек. При программировании же этих алгоритмов возникает много вопросов, как лучше организовать структуру данных, как производить поиск совпадающего многочлена, например. Хотелось бы прочитать какую-нибудь статью или книгу где детально рассматриваются различные алгоритмы упрощения и подробно рассмотрены структуры данных для этого.