Capito... è un'informazione ridondante....
Secondo me una soluzione è:
fare un algoritmo che crei tutte le possibili combinazioni, faccia la somma e controlli se il risultato sia uguale al resto desiderato.
Il modo + semplice è: sapenso che la moneta più piccola DEVE essere 1 (non importa se hai la moneta o meno: dato che il file è di numeri interi il più basso è 1), al max puoi fare combinazioni di 6 monetine.
Quindi con un doppio indice scorri la matrice e fai tutte le combinazioni, sommando i numeri, bloccando ogni volta che trovi un risultato uguale o superiore a 6, e poi aggiungendo 1 all'output se il risultato è 6
(ovviamente prima di tutto ti crei l'array, altrimenti ci mette un secolo il programma a leggere ogni volta il file in in)