jueves, 14 de marzo de 2019

Productos cíclicos



En los cálculos sobre fechas que publico en Twitter (@connumeros), uso a menudo el desarrollo de números naturales mediante expresiones del tipo N=a*b+b*c+c*a, a las que llamaré productos cíclicos, dando por supuesto que solo se usarán tres números enteros positivos a, b y c. No se extenderá el estudio a más sumandos.

Por ejemplo, 16119=69*75+75*76+76*69.

Adelantaremos el hecho de que casi todos los números enteros admiten este tipo de representación y, en general, con muchas soluciones. Las excepciones las iremos viendo a lo largo de la entrada.

Primer caso: 1<=c<=b<=a

Según acotemos los sumandos llegaremos a soluciones distintas. En primer lugar supondremos que 1<=c<=b<=a. Dado que los tres pueden alcanzar un valor mínimo de 1, no es difícil calcular la cota que tendría a:

Si es ab+bc+ca=N, entonces a=(N-cb)/(c+b), luego bc<N y como b>=c>=1, a<(N-bc)/2<=(N-1)/2, que sería el caso en el que b=c=1.

Podemos recorrer valores de a entre 1 y (N-1)/2, que sería el caso en el que b y c valieran 1. Y b puede también recorrer desde 1 hasta el valor actual de a. Con esos valores, la tercera constante c se calculará mediante c=(N-ab)/(a+b)

Estas consideraciones las podemos plasmar en una función que devuelva todas las descomposiciones de un número en productos cíclicos. Últimamente, para recoger varias soluciones acudimos a funciones tipo texto (string), acudiendo a la palabra “NO” cuando no exista descomposición en producto cíclico.

En este caso usamos la siguiente función:

Public Function prodciclo$(n)
Dim s$
Dim i, j, k

s$ = "" ‘Variable que recogerá las soluciones
For i = 1 To (n - 1) / 2 ‘Recorrido de la variable a
j = 1
While j <= i And j < n / i ‘Recorrido de b
k = (n - i * j) / (i + j) ‘Se calcula la tercera variable c
If k = Int(k) And k <= j Then s$ = s$ + Str$(i) + Str$(j) + Str$(k) + "  " ‘Se incorpora otra solución
‘k tiene que entero y menor o igual que j
j = j + 1
Wend
Next i
If s$ <> "" Then prodciclo = s$ Else prodciclo = "NO"
End Function

Números que no admiten un producto cíclico

Al construir una búsqueda con esta función nos llevamos la sorpresa de que los números que no admiten producto cíclico solo son estos:

1, 2, 4, 6, 10, 13, 18, 22, 25, 30, 42, 58, 70, 78, 102, 130, 190, 210, 330, 462

Se puede aceptar la conjetura de que no hay más números con esa característica, ya que al ir aplicando la función a números grandes, aumenta mucho el número de soluciones. Por ejemplo, 21823 admite las soluciones para a, b y c:

89 87 80   111 83 65   113 75 71   117 76 67   119 89 54   121 91 51   125 123 26   137 99 35   139 139 9   145 63 61   146 95 33   147 97 31   153 104 23   159 97 25   163 100 21   167 72 41   169 99 19   175 123 1   185 63 41   186 67 37   187 61 42   193 91 15   197 89 15   200 93 11   213 83 14   217 75 19   219 67 25   221 71 21   225 58 31   226 45 43   231 65 23   232 67 21   233 51 35   247 87 1   287 65 9   293 51 20   297 71 2   309 35 32   325 33 31   340 63 1   343 36 25   351 61 1   357 40 19   401 38 15   409 37 15   411 41 11   453 28 19   463 25 21   485 23 21   495 43 1   501 35 8   583 28 9   674 17 15   681 31 1   703 30 1   833 15 11   947 21 2   991 21 1   1360 9 7   1363 15 1   1677 11 2   1983 10 1   2726 5 3   2727 7 1   5455 3 1 

Vemos que en esta variante se admite el 1 como factor en el producto.

Con PARI también puedes detectar los números que no admiten estos productos cíclicos. Su código imita la función anterior, pero usa números como resultado en lugar de textos.

for(n=1,2000,a=0;for(i=1,(n-1)/2,j=1;while(j<=i&&i*j<n&&a==0,b=n-i*j;if(b%(i+j)==0,k=b/(i+j);if(k<=j,a=1));j+=1));if(a==0,print1(n,", ")))
Resultado



Estos números están publicados en OEIS (http://oeis.org/A025052)

A025052 Numbers not of form ab + bc + ca for 1<=a<=b<=c (probably the list is complete).              
1, 2, 4, 6, 10, 18, 22, 30, 42, 58, 70, 78, 102, 130, 190, 210, 330, 462
According to Borwein and Choi, if the Generalized Riemann Hypothesis is true, then this sequence has no larger terms, otherwise there may be one term greater than 10^11.

T. D. Noe hace notar que en esta sucesión, n+1 es primo. Lo puedes comprobar fácilmente.

Segundo caso: 1<c<b<a

Si restringimos los valores a que sean desiguales y mayores que 1, tampoco es infinita la sucesión de números enteros positivos que no admiten esta representación. De hecho, 1848 es el mayor entre ellos.

Cambiando adecuadamente el código de la función, obtenemos su listado:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 30, 32, 33, 35, 37, 40, 42, 43, 45, 48, 57, 58, 60, 67, 70, 72, 78, 85, 88, 93, 102, 105, 112, 120, 130, 133, 163, 165, 168, 177, 190, 210, 232, 240, 253, 273, 280, 312, 330, 345, 357, 385, 408, 462, 520, 760, 840, 1320, 1365, 1848.

Se comprueba con PARI:


Se puede usar un código similar al siguiente:

for(n=1,6000,a=0;for(i=2,(n-4)/4,j=2;while(j<i&&i*j<n&&a==0,b=n-i*j;if(b%(i+j)==0,k=b/(i+j);if(k<j,a=1));j+=1));if(a==0,print1(n,", ")))

Estos números están publicados como los números idóneos de Euler en http://oeis.org/A000926

La definición de Euler la tienes en

Sobrepasa nuestra capacidad teórica y los objetivos de este blog demostrar la equivalencia entre ambas definiciones. Si lees los comentarios de la sucesión A000926 de OEIS podrás recorrer las diversas definiciones equivalentes y la posibilidad de que la conjetura sea cierta y con un elemento más.

Casos de unicidad

Son también interesantes los casos en los que solo existe una solución. Para investigarlos habrá que cambiar nuestra función PRODCICLO para que cuente soluciones y sólo nos devuelva un resultado cuando sea único. No lo desarrollamos. Es fácil realizar este cambio.

Se pueden plantear varios casos:

1<=a<=b<=c

Están publicados en http://oeis.org/A093670

La sucesión está acotada en el número 142 (conjetura).

3, 5, 7, 8, 9, 12, 13, 14, 16, 25, 28, 34, 37, 46, 82, 142

Reproducimos los productos cíclicos mediante nuestra función PRODCICLO


0 < a < b < c

También están publicados los números que presentan un solo producto cíclico de ese tipo:


11, 14, 17, 19, 20, 27, 32, 34, 36, 43, 46, 49, 52, 64, 67, 73, 82, 97, 100, 142, 148, 163, 193

También aquí podemos conjeturar que 193 es una cota. El desarrollo de sus productos es el siguiente:


1<a<b<c

Terminamos con el caso, bastante razonable, de que los factores sean mayores que la unidad y distintos. El listado es un poco largo, por lo que solo se insertan los últimos resultados (conjetura):


Es razonable pensar que 883 es el máximo valor posible en este caso, al menos entre números accesibles a una hoja de cálculo.

No hay comentarios: