Pular para o conteúdo
Favoritos

Calculadora de equação diofantina linear

Atualizado:

Resolve a equação diofantina linear ax + by = c em inteiros. Digite os coeficientes a, b e c para verificar se existem soluções, obter uma solução particular e a família completa x = x₀ + (b/g)t, y = y₀ − (a/g)t.

Resolva ax + by = c em números inteiros

Campos de entrada
a
b
c
Se ativado, o resultado é atualizado automaticamente quando você altera qualquer valor.

Fórmula da equação diofantina linear

Fórmula
\[ ax + by = c, \qquad a, b, c \in \mathbb{Z} \] \[ g = \gcd(a, b) \] \[ \text{Existem soluções inteiras} \iff g \mid c \] \[ x = x_0 + \frac{b}{g}\,t, \qquad y = y_0 - \frac{a}{g}\,t, \qquad t \in \mathbb{Z} \]

Onde:

  • \(a\), \(b\) — coeficientes inteiros de \(x\) e \(y\)
  • \(c\) — o termo independente, um número inteiro
  • \(g = \gcd(a, b)\) — o máximo divisor comum (mdc) dos coeficientes
  • \((x_0, y_0)\) — uma solução particular, obtida da identidade de Bézout \(g = s\,a + t\,b\) multiplicando por \(c/g\)
  • \(t\) — um parâmetro inteiro arbitrário que gera todas as soluções

A equação tem soluções inteiras exatamente quando \(\gcd(a,b)\) divide \(c\). Quando isso acontece, existem infinitas: partindo de uma solução \((x_0, y_0)\), qualquer outra é obtida somando \(b/g\) a \(x\) e subtraindo \(a/g\) de \(y\) o mesmo número de vezes \(t\).

Equação diofantina linear – Exemplo de cálculo

Exemplo: resolver \(12x + 18y = 30\) em inteiros (os valores padrão da calculadora).

\[ \gcd(12, 18): \quad 18 = 1 \cdot 12 + 6, \quad 12 = 2 \cdot 6 + 0 \implies \gcd(12, 18) = 6 \]

\[ 6 \mid 30 \implies \text{existem soluções} \]

\[ \text{Bézout: } 6 = (-1) \cdot 12 + 1 \cdot 18, \qquad \frac{c}{g} = \frac{30}{6} = 5 \]

\[ x_0 = -1 \cdot 5 = -5, \qquad y_0 = 1 \cdot 5 = 5 \]

\[ 12 \cdot (-5) + 18 \cdot 5 = -60 + 90 = 30 \;\checkmark \]

Levando \(x_0\) para o intervalo \(0 \le x < |b/g| = 3\), obtém-se a solução particular equivalente \((1, 1)\), pois \(12 \cdot 1 + 18 \cdot 1 = 30\).

Resultado: todas as soluções inteiras são \(x = 1 + 3t\), \(y = 1 - 2t\), para qualquer inteiro \(t\); por exemplo \((1, 1)\), \((4, -1)\), \((-2, 3)\).

Como usar a calculadora

  1. Digite o coeficiente inteiro de \(x\) no campo Coeficiente de x (a).
  2. Digite o coeficiente inteiro de \(y\) no campo Coeficiente de y (b).
  3. Digite o termo independente no campo Termo independente (c).
  4. Leia os blocos de resultado: Existem soluções inteiras? informa se \(\gcd(a,b)\) divide \(c\); Uma solução (x₀, y₀) apresenta uma solução particular verificada; Solução inteira geral traz a família completa com o parâmetro \(t\); Passos da solução mostra o algoritmo de Euclides, os coeficientes de Bézout e o raciocínio.

Os três valores digitados precisam ser números inteiros (positivos, negativos ou zero). Se você digitar um valor não inteiro, a calculadora pedirá um número inteiro, pois equações diofantinas são, por definição, resolvidas apenas no conjunto dos inteiros.

O que é uma equação diofantina linear?

Uma equação diofantina é uma equação cujas soluções devem ser números inteiros. A equação diofantina linear \(ax + by = c\) é o tipo mais simples: ela pede todos os pares de inteiros \((x, y)\) que a satisfazem exatamente, sem frações ou decimais. Equações assim surgem naturalmente sempre que as quantidades são indivisíveis — moedas de valores fixos, caixas de itens, pessoas ou ladrilhos.

O fato central é a condição de solubilidade: \(ax + by\) é sempre múltiplo de \(\gcd(a, b)\), portanto \(c\) também precisa ser múltiplo de \(\gcd(a, b)\). Por exemplo, \(6x + 10y\) é sempre par, então \(6x + 10y = 7\) não tem soluções inteiras, por mais que você procure. Quando a condição é satisfeita, a identidade de Bézout garante pelo menos uma solução, que o algoritmo de Euclides estendido encontra com eficiência.

Interpretando o resultado: se existem soluções, elas são infinitas e formam uma progressão aritmética. A solução geral \(x = x_0 + (b/g)t\), \(y = y_0 - (a/g)t\) relaciona todas — cada passo do parâmetro \(t\) aumenta \(x\) em \(b/g\) e diminui \(y\) em \(a/g\), mantendo \(ax + by\) constante. Se você precisa de soluções em um intervalo específico (por exemplo, não negativas), substitua alguns valores de \(t\) e fique apenas com os que servem.

Premissas, limitações e dicas

  • Apenas inteiros. Os coeficientes devem ser números inteiros; a equação não é resolvida nos racionais nem nos reais. Nos reais, \(ax + by = c\) sempre tem soluções quando \(a\) ou \(b\) é diferente de zero — é justamente a restrição aos inteiros que torna o problema interessante.
  • Limites de tamanho. O cálculo usa aritmética padrão, então mantenha os coeficientes dentro da faixa segura de inteiros (cerca de 15 dígitos) para evitar problemas de precisão.
  • Casos degenerados são tratados. Se \(a = b = 0\), a equação é sempre verdadeira (\(c = 0\), qualquer par serve) ou nunca é verdadeira. Se exatamente um coeficiente é zero, a equação tem uma única variável e a calculadora a resolve diretamente.
  • Qualquer solução particular serve. O par \((x_0, y_0)\) não é único — a calculadora o desloca para uma forma compacta com \(0 \le x_0 < |b/g|\), mas qualquer escolha gera o mesmo conjunto completo de soluções por meio do parâmetro \(t\).
  • Conferindo a resposta. Sempre verifique por substituição: calcule \(a x_0 + b y_0\) e confirme que o resultado é igual a \(c\). A calculadora faz essa verificação para você no resultado.

Se o seu problema envolver duas equações lineares ao mesmo tempo, um sistema como \(ax + by = c\), \(dx + ey = f\) é resolvido pelo método da eliminação, e não por divisibilidade do mdc. O raciocínio diofantino também sustenta tópicos como proporcionalidade direta, em que duas grandezas de valores inteiros crescem em proporção fixa, e é uma ferramenta clássica em problemas de olimpíadas e de teoria dos números.

Perguntas frequentes

Como resolver uma equação diofantina linear à mão?

Primeiro calcule \(g = \gcd(a, b)\) com o algoritmo de Euclides. Se \(g\) não divide \(c\), não há soluções inteiras. Caso contrário, aplique o algoritmo de Euclides estendido para encontrar os coeficientes de Bézout com \(g = sa + tb\), multiplique por \(c/g\) para obter \(x_0 = s \cdot c/g\) e \(y_0 = t \cdot c/g\) e escreva todas as soluções como \(x = x_0 + (b/g)t\), \(y = y_0 - (a/g)t\).

Posso usar coeficientes negativos ou um termo independente negativo?

Sim, os três valores podem ser negativos ou zero — apenas frações e decimais são rejeitados. O mdc é sempre calculado a partir dos valores absolutos, por isso é positivo. As fórmulas da solução geral funcionam sem alteração com \(a\), \(b\) ou \(c\) negativos; mudam apenas os sinais dos passos \(b/g\) e \(a/g\) nas fórmulas com o parâmetro.

Qual é a maneira mais fácil de perceber que não existe solução?

Verifique a divisibilidade pelo mdc: soluções existem se, e somente se, \(\gcd(a,b)\) divide \(c\). Um teste rápido de paridade resolve muitos casos típicos — se \(a\) e \(b\) são ambos pares, o lado esquerdo é sempre par, então um \(c\) ímpar torna a equação insolúvel. Da mesma forma, \(6x + 10y\) é sempre par e também congruente apenas a múltiplos de \(\gcd(6,10)=2\).

Como encontrar apenas soluções não negativas ou positivas?

A família com parâmetro \(x = x_0 + (b/g)t\), \(y = y_0 - (a/g)t\) gera uma condição linear sobre \(t\). Resolva as duas desigualdades \(x \ge 0\) e \(y \ge 0\) em relação a \(t\), faça a interseção (que é um intervalo finito de inteiros) e liste cada valor. Se o intervalo resultante de \(t\) for vazio, não existe solução com as duas variáveis não negativas.

Por que a calculadora dá uma solução particular diferente da do meu livro?

Soluções particulares nunca são únicas — se \((x_0, y_0)\) serve, \((x_0 + b/g,\; y_0 - a/g)\) também. As duas respostas estão corretas porque geram exatamente o mesmo conjunto completo de soluções por meio do parâmetro \(t\). Esta calculadora desloca \(x_0\) para o intervalo compacto \(0 \le x_0 < |b/g|\), o que os livros podem não fazer. Sempre confira substituindo em \(ax + by\).

O que acontece se a ou b for igual a zero?

A equação se reduz a uma única variável. Se \(b = 0\), é preciso que \(a \mid c\); então \(x = c/a\) fica fixo, enquanto \(y\) pode ser qualquer inteiro — e simetricamente quando \(a = 0\). Se os dois coeficientes forem zero, a equação é sempre verdadeira (\(c = 0\), qualquer par serve) ou nunca é verdadeira. A calculadora trata todos esses casos degenerados diretamente.

Qual a diferença em relação a resolver uma equação linear comum?

Nos números reais, \(ax + by = c\) com um coeficiente diferente de zero sempre tem soluções — na verdade, uma reta inteira delas. A versão diofantina exige apenas pares de inteiros, o que pode torná-la insolúvel (quando \(\gcd(a,b) \nmid c\)) ou gerar um conjunto discreto e igualmente espaçado de soluções sobre essa reta, em vez de um contínuo. O passo entre soluções consecutivas é exatamente \((b/g, -a/g)\).

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *