Che strano, la domanda ricorda in qualche modo il quesito del post "numeri primi"....corsi e ricorsi.
Intanto, vorrei meglio illustrare la lista di risultati poco sopra, nella quale come detto, nella prima colonna ci sono i numeratori delle frazioni generatrici dei risultati approssimati e nella seconda i denominatori. Nella terza colonna le differenze fra numeratori e denominatori, nella quarta i risultati approssimati, o meglio ancora troncati all'ottava cifra decimale, e nella quinta colonna la differenza fra tali risultati ed il risultato della frazione 225/157.
Come si può notare sono state elencate solo le frazioni che generano risultati man mano sempre più vicini a 225/157, come evidenziato in modo chiaro nella quarta colonna o meglio nella quinta.
L'ultima frazione 6568/4583 è a mio avviso il risultato cercato, perché come è possibile notare è quello più vicino a 225/157 rispetto ai precedenti che si avvicinano gradualmente man mano che si procede nell'elenco, così come man mano crescono le differenze fra numeratori e denominatori, sino a raggiungere la massima differenza 1985 consentita dal quesito; infatti, dalle osservazioni effettuate, ho trovato che la frazione successiva con risultato migliore richiederebbe una differenza fra numeratore e denominatore di 2027>1995. Nella terza colonna delle differenze si può notare, procedendo dall'alto in basso lungo la lista, che fra due di tali differenze consecutive, esistono differenze di 42 o 26 in modo alternato. Quindi, dalla prima differenza della lista all'ultima, partendo dal 285 si giunge all'ultima differenza consentita di 1985, aggiungendo di volta in volta , alternativamente, 42,26,42,26,42,26,....
Questo avviene perché guardando alle liste dei numeratori e dei denominatori ci si accorge che partendo dal numeratore 943, si giunge all'ultimo della lista 6568, aggiungendo alternativamente 139,86,139,86,139...... e così per i denominatori a partire dal 658, aggiungendo 97,60,97,60....
E' evidente che se all'inizio della lista fra 943 e 658 c'è una differenza di 285, aggiungendo al numeratore 139 e al denominatore 97, automaticamente viene aggiunto un 42 alla differenza 285 fra numeratore e denominatore, mentre al passo successivo aggiungendo 86 al numeratore e 60 al denominatore, automaticamente si aggiunge un 26 al corrispondente valore della terza colonna (non so se mi sono spiegato).
Quanto descritto costituisce una delle mie solite congetture (le altre non ricordo quali siano,la quale scaturisce dalle imposizioni del quesito, oltre l'imposizione da me aggiunta nella formulazione della routine in Decimal Basic, studiata nella circostanza per mettere ordine nella ricerca ed a mezzo della quale ogni risultato in quinta colonna deve essere migliore del precedente.
Conclusione: se non ci fosse stata nel quesito la limitazione del 1995 (o 1985 che avrebbe dato egual risultato), la congettura avrebbe consentito di fare a meno della routine in Decimal Basic, consentendo di raggiungere approssimazioni sempre più vicine a 225/157; cosa che non sarebbe stato possibile con la routine, per una questione di tempi di elaborazione, sempre più lunghi con il crescere dei valori di numeratori e denominatori; infatti ormai si dovrebbe aver capito che una frazione con buona approssimazione deve avere valori di numeratore e denominatore molto alti, con una quantità di cifre vicine alle 79 unità, come d'altra parte sarebbe la frazione generatrice del 225/157 (parte significativa meno antiperiodo, ecc.).
Eliminando la condizione 1995, riporto a titolo di esempio una frazione con approssimazione migliore di 6568/4583, costituita come detto da numeri con maggiore quantità di cifre :
271436 189402 82034 1.43312108 .00000006
La routine utilizzata, lanciabile in precisione semplice (più veloce), considerato che ho deciso di troncare i numeri all'8^ cifra decimale:
LET a=1.433121019108280254777070063694267515923566878980891719745222929936305732484076
LET d=0.00001
FOR i=2 TO 6
FOR n=10^i TO 10^(i+1)-1
IF MOD(n,157)<>0 THEN
FOR m=n+1 TO n+1995 STEP 2
LET x=m/n
LET y=ABS(x-a)
IF y<d THEN
PRINT m;n;m-n; INT(10^8*m/n)/10^8; INT(d*10^8)/10^8
LET d=y
END if
NEXT m
END if
NEXT n
NEXT I
END
Detto questo, è da notare che con tutti i valori della lista sopra riportati, differenze varie, ecc., in realtà ogni 2 passi sulla lista non facciamo altro che aggiungere al numeratore 225 e al denominatore 157
Quindi a questo punto, pur senza alcuna congettura di Pasquale, partendo dalla frazione 1/1, che non è uguale a 225/157, ho l'impressione che, data una frazione (N*225+1)/(n*157+1) dovremmo facilmente ottenere risultati vicini a 225/157, approssimati quanto si voglia in base al valore di N.
Infatti:
22500000000001/15700000000001 = 1.43312101910825.......
(225*10^76+1)/(157*10^76+1) = 1.433121019108280254777070063694267515923566878980891719745222929936305732484076......
in cui le prime 78 cifre decimali sono identiche al periodo di 225/157, mentre cambiano le successive.
Questo naturalmente spiega l'ulteriore limite di 1995 imposto dall'autore del quesito: Tuttavia, senza la routine o utilizzando la routine fino al raggiungimento veloce del primo risultato utile della lista, ovvero 943/658, avremmo potuto scrivere dopo qualche tentativo:
[943+(25*225)]/[658+(25*157)]= 6568/4583