problema di Brocard

Il problema di Brocard consiste nel risolvere l’equazione: n! + 1 = m2, con n e m interi positivi. Il simbolo “!” rappresenta il fattoriale, cioè il prodotto di tutti gli interi positivi da 1 a n. Esempio: 6! = 1 × 2 × 3 × 4 × 5 × 6 = 720.
Spendendo una mezz’ora con carta e penna si trovano rapidamente alcune soluzioni:

  • 4! + 1 = 25 = 52;
  • 5! + 1 = 121 = 112;
  • 7! + 1 = 5041 = 712.

Si potrebbe essere indotti a pensare che, proseguendo, ci sia abbondanza di altre soluzioni, ma non è così. Wikipedia ci informa che, almeno fino a un valore di n pari a 109, non sono presenti altre soluzioni oltre le tre appena elencate. Per contro, non esiste ancora una dimostrazione rigorosa dell’esistenza o dell’impossibilità di almeno un’altra soluzione.
Il problema, posto per la prima volta dal matematico francese Henri Brocard nel 1876, e successivamente nel 1913, in modo del tutto indipendente, dal grande matematico indiano Srinivasa Ramanujan, è quindi ancora aperto.
Non ho ambizione alcuna di attacco al problema, ma mi sono preso qualche ora di tempo per scrivere poche righe di codice per esplorare questo tipo di curiosità legato ai fattoriali. Anche qui, non mi aspettavo di scoprire chissà quale curiosità inedita, ma vale come sempre il detto: “È più interessante il viaggio che la destinazione“.

Per chi fosse interessato a provarci, qui si trova una descrizione di come effettuare la ricerca della quarta soluzione al problema.


Il taxi 1729

Verso il termine della sua breve vita (morirà a 32 anni), il matematico indiano Srinivasa Ramanujan, ricoverato in un ospedale londinese, riceveva frequenti visite dal suo mentore, il matematico inglese Godfrey Harold Hardy. Un giorno quest’ultimo osservò di essere arrivato con un taxi il cui numero era privo di interesse dal punto di vista matematico: 1729.
Ramanujan, dotato oltre che di leggendario intuito matematico anche di incredibili capacità di calcolo, gli fece osservare però che, al contrario, era un numero interessantissimo, essendo il più piccolo intero positivo esprimibile come somma di due cubi in due modi diversi1729 = 13 + 123 = 93 + 103.
Lessi di questo aneddoto tantissimi anni fa e, da allora, 1729 e 729 (= 93 = 36) hanno trovato alloggio in qualche remota cella della mia memoria.
Bene, 729 non è molto distante dal 720 = 6! incontrato ad inizio articolo, infatti si può scrivere: 6! + 9 = 729 = 36. Da qui seguono quindi delle identità parenti strette delle soluzioni del problema di Brocard:

  • 272 = 6! + 9 ;
  • 93 = 6! + 9 ;
  • 36 = 6! + 9 ! .

Ci saranno altre curiosità simili da trovare con qualche riga di codice Python?

Un semplice algoritmo

Quali tipi di curiosità si possono tirar fuori in questo campo? Ne ho individuate alcune, legate a una relazione del tipo:

n! + s = pk,

dove s è lo scostamento tra il fattoriale n! e una potenza di un intero positivo pk. Per valori dell’esponente k contenuti (ho esplorato le potenze dalla seconda all’ottava) e per  n compresi tra 450, ho cercato i casi in cui lo scostamento s è:

  • piccolo in valore assoluto (< 100);
  • uguale alla potenza di un intero positivo;
  • un numero palindromo (es.: 6336).

Il codice messo giù è intuitivo:

import math
nmax,maxpw, maxsc = 50, 8, 100
fn = 6
tot = 0
for n in range (4,nmax+1):
  fn *= n
  scost = []
  for pw in range (2,maxpw+1):
    s = fn ** (1/pw)
    s1 = math.floor(s) ** pw
    s2 = math.ceil(s) ** pw
    if fn - s1 < s2 - fn:
      sc = fn - s1
    else:
      sc = fn - s2
    abssc = abs(sc)
    if abssc < maxsc or abssc == (int(abssc**0.5)**2) or \
    abssc == (int(abssc**(1/pw))**pw) or abssc == int(str(abssc)[::-1]):
      scost.append(sc)
      tot += 1
    else:
      scost.append("--")
  print (scost, n, fn)
print("\n", tot)

L’output del risultato è rudimentale, a causa della mia pigrizia: separati da una virgola, per ogni fattoriale vengono stampati gli scostamenti da una potenza che risultino interessanti, nel senso descritto in precedenza. In assenza di qualcosa di interessante da stampare, viene inserito nella stampa il valore "---". A seguire, sulla stessa riga, vengono riportati i valori di n e di n! .

[-1, -3, 8, -8, 23, 23, 23] 4 24
[-1, -5, 39, 88, 56, -8, '--'] 5 120
[-9, -9, 95, '--', -9, '--', 464] 6 720
[-1, '--', '--', '--', '--', '--', -1521] 7 5040
[-81, '--', '--', '--', -6336, '--', '--'] 8 40320
['--', '--', '--', '--', '--', 82944, '--'] 9 362880
[-225, '--', '--', '--', '--', '--', '--'] 10 3628800
[-324, '--', '--', '--', '--', '--', '--'] 11 39916800
['--', '--', '--', '--', '--', '--', '--'] 12 479001600
['--', '--', '--', '--', '--', '--', '--'] 13 6227020800
[-176400, '--', '--', '--', '--', '--', '--'] 14 87178291200
[-215296, '--', '--', '--', '--', '--', '--'] 15 1307674368000
[-3444736, '--', '--', '--', '--', '--', '--'] 16 20922789888000

 28

Dopo il 16! e fino a 50! non ho trovato più alcun risultato interessante.

Soluzioni del problema di Brocard e altro

Le righe in cui compare -1 in prima posizione (4!, 5! e 7!) corrispondono alle soluzioni del problema di Brocard, perché il fattoriale è uguale a un quadrato diminuito di 1.
In corrispondenza di 6! = 720, poi, troviamo i risultati già visti in precedenza:

[-9, -9, 95, '--', -9, '--', 464] 6 720

I –9, infatti, sono gli scostamenti tra  6! e potenze rispettivamente di grado 2, 3 e 6. Ci sono anche due altri risultati, però:

  • 6! – 95 = 252 (scostamento contenuto);
  • 6! – 464 = 256 = 28 (scostamento palindromo).

Non ci sono molti altri casi interessanti :

  • 7! + 1521 = 7! + 392 = 38 (lo scostamento è un quadrato perfetto);
  • 8! + 81 = 8! + 92 = 2012 (lo scostamento è un quadrato perfetto);
  • 8! + 6336 = 66 (scostamento palindromo);
  • 16! + 3444736 = 16! + 18562 = 45741442.

Un altro modo per esprimere, ad esempio, l’ultimo risultato è questo:

  • 16! = 45741442 – 18562 = (4574144 + 1856) × (4574144 – 1856) = 4576000 × 4572288.

Quindi i fattori da 1 a 16 possono essere riarrangiati, in modo da formare i due fattori 4576000 e 4572288.


L’uomo che vide l’infinito

La vita del matematico indiano Srinivasa Ramanujan è raccontata da un bel film del 1991: L’uomo che vide l’infinito.

Al momento in cui scrivo, il film è disponibile su Prime Video, incluso nell’abbonamento Prime.

La foto di apertura dell’articolo è di Gerd Altmann da Pixabay

Scritto da:

Pasquale

Mi chiamo Pasquale Petrosino, radici campane, da alcuni anni sulle rive del lago di Lecco, dopo aver lungamente vissuto a Ivrea.
Ho attraversato 40 anni di tecnologia informatica, da quando progettavo hardware maneggiando i primi microprocessori, la memoria si misurava in kByte, e Ethernet era una novità fresca fresca, fino alla comparsa ed esplosione di Internet.
Tre passioni: la Tecnologia, la Matematica per diletto e le mie tre donne: la piccola Luna, Orsella e Valentina.
Potete contattarmi scrivendo a: p.petrosino@inchiostrovirtuale.it