Resolución de ecuaciones cuadráticas en dos variables enteras

ax² + bxy + cy² + dx + ey + f = 0
 
 
 
 
 
 
 

Esta calculadora resuelve ecuaciones de la forma a⁢x² + b⁢x⁢y + c⁢y² + dx + ey + f = 0 donde las incógnitas x e y son números enteros.

El programa acepta números de hasta 10000 dígitos, pero el algoritmo utilizado requiere factorizar algunos números (en general los números grandes no se pueden factorizar en un tiempo razonable). El motor de factorización utilizado es el la aplicación de factorización de números enteros, que usa los métodos ECM y SIQS.

Si hay muchas soluciones, la aplicación se puede quedar sin memoria y no mostrará ningún resultado.

Expresiones

Puedes ingresar expresiones que usen los siguientes operadores y paréntesis:

  • + para suma
  • - para resta
  • * para multiplicación
  • / para división entera
  • % para el resto de la división entera
  • ^ o ** para exponenciación (el exponente debe ser mayor o igual que cero).
  • <, ==, >; <=, >=, != para comparaciones. Los operadores devuelven cero si es falso y -1 si es verdadero.
  • AND, OR, XOR, NOT para lógica binaria.
  • SHL: Desplazar a la izquierda la cantidad de bits indicada en el operando derecho.
  • SHR: Desplazar a la derecha la cantidad de bits indicada en el operando derecho.
  • n!: factorial (n debe ser mayor o igual que cero).
  • p#: primorial (producto de todos los primos menores o iguales a p).
  • B(n): Número probablemente primo anterior a n
  • F(n): Número de Fibonacci Fn
  • L(n): Número de Lucas Ln = Fn-1 + Fn+1
  • N(n): Número probablemente primo posterior a n
  • P(n): particiones irrestrictas (cantidad de descomposiciones de n en sumas de números enteros sin tener en cuenta el orden).
  • Gcd(m,n): Máximo común divisor de estos dos números enteros.
  • Modinv(m,n): inverso de m modulo n, sólo válido cuando gcd(m,n)=1.
  • Modpow(m,n,r): halla mn módulo r.
  • Totient(n): cantidad de enteros positivos menores que n coprimos con n.
  • IsPrime(n): returna cero si n no es un primo probable y -1 si lo es.
  • NumDivs(n): cantidad de divisores positivos de n primos o compuestos.
  • SumDivs(n): suma de divisores positivos de n primos o compuestos.
  • NumDigits(n,r): cantidad de dígitos de n en base r.
  • SumDigits(n,r): suma de dígitos de n en base r.
  • RevDigits(n,r): halla el valor que se obtiene escribiendo para atrás los dígitos de n en base r.
  • ConcatFact(m,n): concatena los factores primos de n de acuerdo al modo expresado en m según lo indicado en la siguiente tabla:
    Modos de la función ConcatFact
    ModoOrden de los factoresFactores repetidos
    0CrecienteNo
    1DecrecienteNo
    2Creciente
    3Decreciente

Puedes usar el prefijo 0x para números hexadecimales, por ejemplo 0x38 es igual a 56.

El símbolo de exponenciación no se encuentra en algunos dispositivos móviles. En este caso se puede ingresar dos asteriscos (**) para representar el operador de exponenciación.

Código fuente

Puedes bajar el código fuente de esta aplicación y del viejo applet de ecuaciones cuadráticas enteras desde GitHub. El código fuente está escrito en lenguaje C, por lo que es necesario Emscripten para generar Javascript.

Escrito por Dario Alpern. Actualizado el 15 de septiembre de 2018.

Si encuentra algún error o tiene algún comentario, por favor llene el formulario.