# Número de Fermat

Un número de Fermat, nombrado en honor a Pierre de Fermat, quien fue el que formuló e investigó estos números, es un número natural de la forma $F_{n}=2^{2^{n}}+1$, donde n es natural. De particular interés son los números primos de Fermat.
Pierre de Fermat conjeturó que todos los números naturales de la forma
    $F_{n}=2^{2^{n}}+1$
con n natural eran números primos (después de todo, los cinco primeros términos, 3 (n=0), 5 (n=1), 17 (n=2), 257 (n=3) y 65537 (n=4) lo son), pero Leonhard Euler probó que no era así en 1732. En efecto, al tomar n=5 se obtiene un número compuesto:
    $F_{5}=2^{2^{5}}+1=2^{32}+1=4294967297=641\times 6\ 700\ 417\;$
    4294967297 es el número más pequeño que, siendo número de Fermat, no es primo.
Actualmente, solo se conocen cinco números primos de Fermat, que son los que ya se conocían en tiempos del propio Fermat, y, a fecha de enero de 2009 solo se conoce la factorización completa de los doce primeros números de Fermat (desde n=0 hasta n=11). Estas son algunas de las conjeturas que existen hoy día sobre estos números:
* ¿Solo hay cinco números primos de Fermat (3, 5, 17, 257 y 65537)?
* ¿Existen infinitos primos de Fermat?

## Algunos números de Fermat y su factorización

Los nueve primeros números de Fermat son los siguientes:
| F$_0$ | = | 2$^1$ | + | 1 | = | 3 |
| F$_1$ | = | 2$^2$ | + | 1 | = | 5 |
| F$_2$ | = | 2$^4$ | + | 1 | = | 17 |
| F$_3$ | = | 2$^8$ | + | 1 | = | 257 |
| F$_4$ | = | 2$^{16}$ | + | 1 | = | 65.537 |
| F$_5$ | = | 2$^{32}$ | + | 1 | = | 4.294.967.297 |
| | | | | | = | 641 × 6.700.417 |
| F$_6$ | = | 2$^{64}$ | + | 1 | = | 18.446.744.073.709.551.617 |
| | | | | | = | 274.177 × 67.280.421.310.721 |
| F$_7$ | = | 2$^{128}$ | + | 1 | = | 340.282.366.920.938.463.463.374.607.431.768.211.457 |
| | | | | | = | 59.649.589.127.497.217 × 5.704.689.200.685.129.054.721 |
| F$_8$ | = | 2$^{256}$ | + | 1 | = | 115.792.089.237.316.195.423.570.985.008.687.907.853.269.984.665.640.564.039.457.584.007.913.129.639.937 |
| | | | | | = | 1.238.926.361.552.897 × 93.461.639.715.357.977.769.163.558.199.606.896.584.051.237.541.638.188.580.280.321 |

## Propiedades de los números de Fermat

* Un número de Fermat es igual al producto de todos los anteriores más 2. Esto se puede demostrar por inducción como sigue:
** Si n=1, es verdad: F$_1$ = F$_0$ + 2 (5 = 3 + 2).
** Si se cumple para k igual a n-1, se cumple para n:
* $F_{0}\cdot F_{1}\cdot \ldots \cdot F_{n-2}\cdot F_{n-1}+2=\left(F_{n-1}-2\right)\cdot F_{n-1}+2\,\!$
* $=\left(2^{2^{n-1}}+1-2\right)\cdot \left(2^{2^{n-1}}+1\right)+2\,\!$
* $=\left(2^{2^{n-1}}-1\right)\cdot \left(2^{2^{n-1}}+1\right)+2\,\!$
* $=\left(2^{2^{n-1}}\right)^{2}-1+2=2^{2^{n}}+1=F_{n}\,\!$
* Corolario de la propiedad anterior: Ningún número de Fermat puede ser la suma de dos números primos. Como todos los números de Fermat son impares, uno de los sumandos debe ser 2. Entonces, el otro tendrá que ser, o bien 1 (en el caso de F$_0$ = 3) o bien el producto de todos los anteriores... pero precisamente al ser un producto de números naturales no puede ser primo.
* Dos números de Fermat distintos siempre son primos entre sí (es decir, no tienen ningún factor común). Se sabe que F$_n$ = F$_0$·F$_1$·...·F$_{n-1}$ + 2. Como todos los números de Fermat son impares (y por tanto 2 no puede ser un factor común), se concluye que F$_n$ no es divisible por ninguno de los factores de los anteriores números de Fermat. Un corolario de esto es una demostración de la infinitud de los números primos (ver artículo).
* Carl Friedrich Gauss demostró que existe una relación entre la construcción de polígonos regulares con regla y compás y los números primos de Fermat: un polígono regular de n lados puede ser construido con regla y compás si y solo si n es, o bien una potencia de 2, o bien el producto de una potencia de 2 y primos de Fermat distintos entre sí.
* Todo número compuesto de Fermat $F_{n}=2^{2^{n}}+1$ se puede descomponer en factores primos de la forma k·2$^{n+2}$ + 1, con k entero positivo.
* La representación hexadecimal de un número de Fermat mayor es especialmente sencilla: para cada n mayor o igual que 2, F$_n$ = 10...01$_{hex}$, donde hay 2$^{n-2}$ - 1 ceros.

## Relación con polígonos construibles

Carl Friedrich Gauss desarrolló la teoría de los períodos gaussianos en su obra Disquisitiones arithmeticae y formuló una suficiente para la constructibilidad de polígonos regulares. Afirmó que esta condición también era necesaria, pero nunca publicó una prueba. Pierre Wantzel dio una prueba completa de la necesidad en 1837. El resultado se conoce como Teorema de Gauss-Wantzel:
    Se puede construir un polígono regular de n lados con regla y compás si y solo si n es el producto de una potencia de 2 y primos de Fermat distintos: en otras palabras, si y solo si n es de la forma n = 2$^k$p$_1$p$_2$...p$_s$, donde k, s son enteros no negativos y los p$_i$ son primos de Fermat distintos.
Un entero positivo n tiene la forma anterior si y solo si su totiente φ(n) es una potencia de 2.

## Aplicaciones de los números de Fermat
### Generación de números pseudoaleatorios

Los números primos de Fermat son particularmente útiles para generar secuencias pseudoaleatorias de números en el rango 1 ... N, donde N es una potencia de 2. El método más común utilizado es tomar cualquier valor semilla entre 1 y P − 1, donde P es un primo de Fermat. Ahora, se multiplica este valor por un número A, que es mayor que la raíz cuadrada de P y es una raíz primitiva módulo P (es decir, no es un residuo cuadrático). Luego, se toma el resultado módulo P. El resultado es el nuevo valor para el generador de números pseudoaleatorios:
    $V_{j+1}=(A\times V_{j}){\bmod {P}}$ (véase generador lineal congruencial, RANDU)
Esto es útil en informática, ya que la mayoría de las estructuras de datos tienen miembros con valores posibles 2$^X$. Por ejemplo, un byte tiene 256 (2$^8$) valores posibles (0–255). Por lo tanto, para llenar un byte o bytes con valores aleatorios, se puede usar un generador de números aleatorios que produzca valores de 1 a 256, tomando el byte el valor de salida −1. Los números primos de Fermat muy grandes son de particular interés en el cifrado de datos por este motivo. Este método produce solo valores pseudoaleatorios, ya que después de P − 1 repeticiones, la secuencia se repite. Un multiplicador mal elegido puede hacer que la secuencia se repita antes de P − 1.