Coeficientes de Bézout: inteiros x, y com a·x + b·y = mdc
Para 240 e 46 o máximo divisor comum é 2, e 240 × (−9) + 46 × 47 dá 2, então x vale −9 e y vale 47. Digite dois inteiros que não sejam ambos zero e receba o mdc e um par válido de coeficientes. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- A
- 240
- B
- 46
- Gcd
- 2
- X
- -9
- Y
- 47
- Verificação
- 2
A identidade de Bézout afirma que, para quaisquer inteiros a e b que não sejam ambos zero, existem inteiros x e y tais que a vezes x mais b vezes y é igual ao máximo divisor comum de a e b. Esses coeficientes são o núcleo construtivo das equações diofantinas lineares, das inversas modulares quando o mdc vale um, e das demonstrações escolares de que dois números são coprimos.
O que a identidade de Bézout afirma e por que os coeficientes importam
Todo par de inteiros que não seja ambos zero tem um máximo divisor comum não negativo bem definido g. A identidade de Bézout vai além: garante inteiros x e y para os quais a vezes x mais b vezes y é igual a esse g. A prova de existência é construtiva e segue o processo de restos euclidianos.
A divisão ordinária substitui repetidamente um par pelo resto seguinte até aparecer zero; o último resto não nulo é o mdc. Ao rastrear como cada resto se escreve como combinação linear inteira das entradas originais, obtêm-se os coeficientes ao terminar. Textos escolares costumam fazer retro-substituição dos quocientes da tabela de divisões; o código de produção em geral atualiza dois pares de coeficientes em um único laço sem guardar a pilha de restos.
Ambas as abordagens calculam o mesmo objeto matemático. Os coeficientes não são únicos: se um par funciona, também funciona todo par deslocado por múltiplos inteiros de b sobre g e de a sobre g com sinais opostos. Esta ferramenta devolve uma solução particular do algoritmo iterativo, sempre com mdc não negativo, para que scripts e corretores comparem com uma convenção fixa sem rederivar o conjunto geral de soluções.
Como chamar a calculadora e ler a resposta
Envie os inteiros a e b. O par zero e zero também é rejeitado, porque o mdc de zero e zero é indefinido e nenhum coeficiente produz uma equação de Bézout significativa.
Em caso de sucesso a resposta inclui a e b normalizados, o mdc, x, y, um objeto bezout aninhado com os mesmos coeficientes, um check numérico igual a a vezes x mais b vezes y, uma string de equação no estilo duzentos e quarenta vezes menos nove mais quarenta e seis vezes quarenta e sete é igual a dois, e um campo identity com a relação geral.
Verificações típicas: para duzentos e quarenta e quarenta e seis o mdc é dois com uma solução válida x igual a menos nove e y igual a quarenta e sete; para um par primo com mdc um os coeficientes dão a inversa modular de a módulo b após reduzir x. Casos com um zero e um parceiro não nulo dão mdc igual ao valor absoluto da entrada não nula e um padrão trivial de coeficientes.
Onde os coeficientes de Bézout aparecem na prática
Programadores de competição resolvem a vezes x mais b vezes y igual a c calculando primeiro o mdc e um par base de Bézout, depois escalando e parametrizando a solução geral quando o mdc divide c. Estudantes de criptografia recuperam inversas modulares para exemplos didáticos de RSA e cifras afins quando o mdc de a e m vale um, lendo o coeficiente de a após redução módulo m.
Professores pedem provas construtivas de que dois inteiros são coprimos e precisam de um oráculo determinístico que mostre a combinação linear, não apenas um bit de coprimalidade. Engenheiros de dados e de sistemas às vezes precisam de combinações lineares explícitas ao reconciliar agendas periódicas ou aritmética de passos. Use a ferramenta do navegador para revisar lições com rapidez e depois automatize o mesmo contrato quando seu serviço precisar de checagens diofantinas em massa.
Se você só precisa do mdc sem coeficientes, esta página ainda atende a essa necessidade e ensina o resultado construtivo de Bézout que embasa currículos de teoria dos números e perguntas de entrevista sobre o raciocínio de Euclides estendido.
Casos de uso
Equações diofantinas lineares
Obtenha uma solução particular (x, y) de a*x + b*y = gcd e depois escale e parametrize ao resolver a*x + b*y = c em competições ou lições.
Bloco base da inversa modular
Quando gcd(a, m) = 1, reduza o coeficiente de Bézout de a módulo m para recuperar uma inversa modular em exercícios de cripto e teoria dos números.
Perguntas frequentes
O que é a identidade de Bézout?
Afirma que, para inteiros a e b não ambos zero, existem inteiros x e y (coeficientes de Bézout) tais que a*x + b*y é igual a gcd(a, b). Esta calculadora devolve um par desse tipo junto com o mdc.
Os coeficientes são únicos?
Não. Se (x, y) funciona, também funciona (x + k*(b/g), y - k*(a/g)) para qualquer inteiro k. Esta ferramenta devolve uma solução particular do algoritmo iterativo.
Qual faixa de inteiros é suportada?
Cada um de a e b deve ser um inteiro com valor absoluto no máximo 9007199254740991 (Number.MAX_SAFE_INTEGER).
Quanto custa?
A ferramenta do navegador é grátis e roda localmente.
Como obter um inverso modular com os coeficientes de Bézout?
Quando o mdc de a e b é 1, a equação fica a·x + b·y igual a 1. Ao reduzir x módulo b, você obtém o inverso de a módulo b, o número que multiplicado por a deixa resto 1.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/numth/bezout-identity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":240,"b":46}'const res = await fetch("https://api.kit.forhosting.com/numth/bezout-identity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 240,
"b": 46
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/bezout-identity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 240,
"b": 46
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/bezout-identity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":240,"b":46}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":240,"b":46}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/bezout-identity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"a": 240,
"b": 46
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.bezout_identity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Esta capacidade recebe dois inteiros, rejeita o caso indefinido em que ambos são zero e devolve um JSON estável com o mdc, o par de Bézout x e y, uma verificação numérica, uma equação legível e um rótulo breve da identidade que você pode colar em anotações ou em testes automatizados.
Como chamar a calculadora e ler a resposta
Aceitam-se os aliases first ou m para a, e second ou n para b, pensados para clientes de formulário. Não inteiros, campos vazios e valores fora do máximo absoluto de inteiros seguros da plataforma são rejeitados com invalid_input e não são cobrados.
Onde os coeficientes de Bézout aparecem na prática
Como a capacidade é um motor parse puro, não há deriva de modelo, dependência de rede nem estado armazenado: o mesmo par sempre produz o mesmo JSON sob uma convenção fixa de coeficientes. O preço da API é a base publicada de US$ 0,002 por item bem-sucedido; validação falha não consome saldo.
Casos de integração
Ensino e verificações automatizadas
Mostre aos alunos a identidade a*x + b*y = gcd com um campo equation estável em JSON e integre o mesmo contrato em corretores ou fixtures de CI.
Perguntas técnicas
Por que a e b ambos zero são rejeitados?
gcd(0, 0) é indefinido. Não há máximo divisor comum positivo, logo a identidade de Bézout não se aplica; a API retorna invalid_input e não cobra.