Видел только книги по теме типа Тан К.Ш., Стиб В.Х., Харди Й. "Символьный C++ - Введение в компьютерную алгебру с использованием объектно-ориентированного программирования."
И вот это
http://arageli.org/https://um-nik.github.io/polynom-divisionВозможно поможет. Сам не пробовал.
Ну и гугл, гитхаб вы конечно же пробовали, там можно найти готовые классы с базовыми операциями.
Если факторизовать то можно из получившегося попробовать перемножать их между собой и выделить наибольший...
В пределе больший пробовать делить на меньший.