
Беда-то еще и в том, что Вы ранее нигде не сообщили о необходимости построения поверхности как конечной цели Ваших преобразований

Поэтому, в предположении, что Вы решаете вопрос о классификации поверхности, Вам был предложен упрощенный вариант приведения формы к каноническому виду, производимый с помощью "косоугольных" аффинных преобразований, которые
сохраняют класс поверхности, но
существенно меняют ее геометрию (поворачивают, сжимают или растягивают оси, меняют углы между осями). А для корректного построения (именно
построения, а не решения задачи классификации) Вам придется вернутся к Вашему исходному алгоритму приведения формы к главным осям ортогональным преобразованием.
Возможно, Вам поможет вот это
http://www.ksu.ru/infres/stolov2/Lect24.pdf ?