
La domanda è la seguente: prendiamo un sistema lineare ad esempio a 3 incognite x,y,z che abbia infinite soluzioni, per cui 2 incognite sono linearmente dipendenti dalla terza (ad esempio: x=2/3z , y=5/4z, z=z).
Sto cercando un metodo per ricavare z tale che x,y,z siano naturali (interi positivi) e minimi (per minimi intendo che x,y,z sia la combinazione di naturali minore possibile).
Per i problemi a cui sto applicando questo metodo, so che la soluzione esiste e di solito z non supera z=50, quindi per il momento ho fatto un programmino "ignorante" che cicla z da 1 a 50 con passo 1 e verifica che sostituendo z in x e in y entrambi forniscano un numero intero; al primo ciclo in cui questo si verifica ho trovato la z che stavo cercando.
Esiste un algoritmo meno "ignorante", diciamo "più matematico" ed "elegante" per fare questo? Ho cercato di risolvere il problema in diversi modi ma l'unico che praticamente funziona è quello descritto sopra, ma funziona solo perché so che z è "limitato", altrimenti potrebbero volerci secoli.
Domanda bonus: il fatto che esistano infinite soluzioni, implica che esista sempre almeno 1 soluzione in cui tutte le incognite sono numeri interi?
Grazie a tutti
