Mostrando entradas con la etiqueta teoría elemental de números. Mostrar todas las entradas
Mostrando entradas con la etiqueta teoría elemental de números. Mostrar todas las entradas

martes, 30 de agosto de 2022

Acerca de la identidad de Bézout

Un resultado básico relacionado con el máximo común divisor de dos números (enteros), distintos de cero, $a,b$ —y lo notaremos de la forma $\text{m.c.d.}(a,b)$—, es la denominada identidad de Bézout, que dice así:

Sea $\mathbb{Z} \ni d=\text{m.c.d.}(a,b)$, entonces existen infinitas parejas de números enteros $x,y$, tales que $d=ax+by$.

Veamos un ejemplo:
Consideremos los números enteros $a=4$ y $b=2$ —para hacerlo sencillo, los hemos elegido positivos—. Sabemos que el máximo común divisor de estos dos números es $d=\text{m.c.d.}(4,2)=2$, entonces, según el resultado que nos ocupa (identidad de Bézout), podremos encontrar otros dos números $x,y$ (no necesariamente únicos) tales que $2=4x+2y$. En efecto, es claro que una posibilidad es $x_1=0$ e $y_1=1$, entre otras infinitas parejas que satisfacen esta igualdad, y se puede justificar que son de la forma $$\left\{\begin{matrix}x=x_1+\lambda\,\dfrac{b}{d} \\ y=y_1-\lambda\,\dfrac{a}{d}\end{matrix}\right. \forall \lambda \in \mathbb{Z}$$ es decir, en el caso que nos ocupa: $$\left\{\begin{matrix}x=0+\lambda\,\dfrac{2}{2}=\lambda \\ y=1-\lambda\,\dfrac{4}{2}=1-2\,\lambda\end{matrix}\right. \forall \lambda \in \mathbb{Z}$$ esto es $$\{(0,1),(1,-1),(-1,3),(2,-3),(-2,5),\ldots\}$$

Otro ejemplo:
Dados los números enteros $a=1170$ y $b=363$, nos proponemos encontrar los pares de valores enteros $x,y$ tales que $x\,a+y\,b=d$ (donde $d=\text{m.c.d.}(a,b)$. Lo primero que haremos es calcular el máximo común divisor; y, como vamos a ver enseguida, nos vendrá muy bien hacerlo aplicando el algoritmo de Euclides. Sigamos los pasos necesarios:
  (1)   $1170=363\cdot 3+81$
  (2)   $363=81\cdot 4+39$
  (3)   $81=39\cdot 2+3$
  (4)   $39=13\cdot 3+0 \Rightarrow d=3$
Procedemos ahora a encontrar una solución particular $x_1,y_1$:
  De (3), $3=81-39\cdot 2$
    y teniendo en cuenta (2), podemos escribir que
    $3=81-(363-81\cdot 4)\cdot 2=81-363\cdot 2 +81\cdot 8=9\cdot 81 -263\cdot 2$
    que, siguiendo a partir de (1), puede escribirse de la forma
    $3=9\cdot 81 -263\cdot 2=9\cdot 1170-27\cdot 363-363\cdot 2 = 9\cdot 1170 -29\cdot 363 \Rightarrow x_1=9$ y $y_1=-29$
Con lo cual, como ya sabemos la estructura de la solución general, llegamos a que ésta es: $$\left\{\begin{matrix}x=9+\lambda\,\dfrac{363}{3} \\ y=-29-\lambda\,\dfrac{1170}{3}\end{matrix}\right. \forall \lambda \in \mathbb{Z}$$ esto es $$\left\{\begin{matrix}x=9+121\,\lambda \\ y=-29-390\,\lambda\end{matrix}\right. \forall \lambda \in \mathbb{Z}$$ obteniendo (dando valores arbitrarios a $\lambda$: $0,\pm1,\pm2\,\ldots$) las infinitas parejas de que consta la solución: $$\{(9,-29),(130,-419),(-112,361),\ldots\}$$

-oOo-

Una utilidad muy importante de la identidad de Bézout es la de formar parte del proceso de resolución de una ecuación diofántica lineal, $cx+dy=k$, siendo también $c,d$ y $k$, números enteros, y siendo $k|d=\text{m.c.d.}(a,b)$. En estas condiciones, la solución general de dicha ecuación diofántica lineal está formada por un conjunto de parejas de números enteros $x$ e $y$. Para encontrar dicha solución general, a partir de una solución particular, se parte del resultado básico de la identidad de Bézout. En cursos superiores, aprenderéis a resolver este tipo de ecuaciones. Si sóis personas curiosas, os sugiero que os avancéis y leáis este otro artículo —como ampliación opcional— para ver como se hace.

Nota: El nombre que se le da a estas ecuaciones de números enteros viene del matemático Diofanto (s. III d.C.), quien en su obra Arithmetica expuso la resolución de algunas de dichas ecuaciones. $\diamond$

miércoles, 3 de junio de 2015

El Pequeño Teorema de Fermat ...

Pequeño teorema de Fermat

Dado un entero $p$, primo, y un número entero $a$ tal que $a,p$ sean coprimos ($\text{m.c.d.}(a,p)=1$), entonces $a^{p-1}\equiv 1 (\text{mod}\, p)$ —afirmación equivalente a $a^p ≡ a (\text{mod}\, p)$—. Por ejemplo, si $p=3$ y $a=4$, se tiene que el residuo de la división euclídea de $a^p=4^{3-1}=16$ entre $3$ es $1$, como debe ser; esto es, el residuo de la división $4^3=64$ entre $3$ es igual a $4$.

-oOo-

Observación. Una consecuencia de este teorema es la siguiente: Como al dividir $a^{p-1}$ entre $p$ se obtiene resto igual a $1$, existe un $k\in \mathbb{Z}$ para el cual $a^{p-1}=k\, p +1$, multiplicando por $a$ en cada miembro de la igualdad, se tiene que $a^{p}= k \,p \,a + a$, luego $a^{p} - a$ es múltiplo de $p$ puesto que $k\,a$ és también un número entero.

Ejemplo. Sea $a=9$ y $p=2$ (primo), siendo $(9,2)=1$ y cumpliéndose así las condiciones suficientes del teorema. Comprabamos, en efecto, que $a^p=9^2=81 \mod 2 = 1$, coincidiendo con $a=9 \mod 2 =1$; y, además, $a^p-a \in (\overset{.}{p})$ pues $81-8=72 \in (\overset{.}{2})$. \diamond$

$\diamond$

lunes, 1 de octubre de 2001

Cálculo del máximo común divisor de tres números enteros positivos. Un ejercicio de programación en C/C++

//-----------------------------------------------------------------
// m.c.d. de tres nombres enters positius 
// 
// Joan Aranès Clua
// data: 17/12/2001
// 
// Aquest programa calcula el m.c.d.{m,n,p}
//-----------------------------------------------------------------

#include <stdio.h>

//declaració de la funció que calcula el m.c.d. de dos n. enters positius:
int mcd(int,int);
// 

void main()
{
    int m,n,p; // variables corresponents a les dades d'entrada

    printf("Introdu\x08Bu tres nombres enters separats per un espai\n");
    scanf("%d %d %d",&m,&n, &p);
    printf("\n\nmcd(%d,%d,%d) = %d\n",m,n,p, mcd(mcd(m,n),p));
}



int mcd(int x,int y)
{

    int reste; // reste i quocient de les divisions
	int dividend,divisor;

	// DIVISIONS SUCCESSIVES
	// primera divisió:
      dividend=(x>y)?x:y;
	divisor=(y<x)?y:x;
	reste=dividend%divisor;

	// per a les divisions següents
	// s'asigna al nou divisor  el valor de l'antic reste
	// fins arribar a una divisió amb reste nul
	// el divisor d'aquesta darrera divisió és el m.c.d.{x,y}

    while(reste>0)
	{
		dividend=divisor;
		divisor=reste;
            reste=dividend%divisor; //         
      }

    return divisor;

}