Я знаю, что он был доказан NP-полным, и это нормально. В настоящее время я решаю это с помощью ответвления и границы, где я устанавливаю начальный верхний предел на количество умножений, которое потребовалось бы обычному алгоритму двоичного квадрата / умножения, и оно дает правильные ответы, но я не удовлетворен работой время (это может занять несколько секунд для чисел около 200). Это проблема NP-полная, я не ожидаю ничего впечатляющего; но часто есть хитрости, чтобы хоть немного контролировать фактическое время.
Есть ли более быстрые способы сделать это на практике? Если да, то что они?