¿Existe un algoritmo rápido (probabilístico o determinista) para determinar si un número entero $n$ es la suma de dos cuadrados?
Por "rápido" me refiero a tiempo polinómico (es decir, tiempo $O((\log n)^{O(1)})$ ). Obsérvese que sólo me interesa saber si el número entero puede representarse de esa manera, no cómo se representa.
Dado que se requiere un algoritmo rápido, no se puede utilizar la factorización.
Sería impar si esto resultara más difícil que detectar la primalidad, ya que los números primos son más raros.
(Esta es una pregunta que surgió en una charla que acabo de dar).