Pentru realizarea algoritmului am utilizat următoarele variabile:
- n, valoarea pentru care se verifică posibilii multiplii din fișier, pentru care am alocat 2 octeți;
- x, variabila în care citesc, pe rând restul valorilor din fișier, pentru care am alocat 2 octeți;
- lmax, lungimea maximă de valori consecutive din fișier care sunt multiplii lui n, pentru care am alocat 4 octeți;
- l, lungimea secvenței curente de multiplii ai lui n, pentru care am alocat 4 octeți.
În concluzie, variabilele folosite utilizează o memorie de 2*4+2*2=12 octeți, de unde rezultă EFICIENȚA UTILIZĂRII MEMORIEI (pe lângă variabila utilizată pentru fișier).

Algoritmul începe prin citirea valorilor n și a celorlalte valori x din fișier.
Cât timp mai există valori în fișier, citesc o nouă valoare și o pun în x; pasul următor e să verific dacă x este multiplu al lui n, dacă este multiplu măresc lungimea secvenței curente de multipli ai lui n - l, după care modific lungimea maximă în cazul în care l>lmax, în caz contrar reîncep o nouă secvență curentă a lui n, pornind de la l=0.
La final, după ce am parcurs o singură dată valorile din fișier și am calculat lmax, în lmax voi avea fie valoarea 0, fie o altă valoare - care reprezintă lungimea maximă a unei secvențe de multipli ai lui n. În cazul în care lmax este 0 afișăm mesajul "nu există", în caz contrar afișez lungimea ei.
În acest fel am EFICIENTIZAT TIMPUL DE EXECUȚIE, algoritmul fiind unul liniar, complexitatea algoritmului fiind maxim N+1 = O(N), de unde rezultă liniaritatea algoritmului.