Сомножители имеются в виду элемент матрицы из

и

, разумеется. Если у матрицы только простые с.з., то в ноль обращается

, что "легко доказывается". Если есть кратные корни, то в ноль будет обращаться

. Т.о. мы имеем, что произведение двух многочленов всюду принимает нулевые значения, значит, это произведение — нулевой многочлен, а это возможно лишь если взятый элемент

был нулевым многочленом, т.к.

точно нулевым многочленом не является.
Вы помните, как хотели использовать топологические свойства? "Открытое всюду плотное множество матриц"... ну вот вам топология, где замкнутыми множествами называются множества вида

— там все открытые множества автоматом всюду плотны, множество диагонализируемых матриц как раз открыто... теперь выкидываем всю топологическую шелуху.