Enuntul simplist ascundea o problema de matematica (algebra liniara) care
    necesita cunostinte de clasa a XI-a de algebra. Acest lucru nu ar trebui sa
    indispune pe cei de o etate mai mica si pentru a ii incuraja sa inteleaga
    acele notiuni am sa incerc doua variante de explicare a algoritmului (ambele
    echivalente).
    
    Varianta 1:
      Problema se reducea la a rezolva sistemul de 3 ecuatii cu 4 necunoscute
    
        Amestec1_A*P1+Amestec2_A*P2+Amestec3_A*P3=P*Sol_A
        Amestec1_B*P1+Amestec2_B*P2+Amestec3_B*P3=P*Sol_B
        Amestec1_C*P1+Amestec2_C*P2+Amestec3_C*P3=P*Sol_C,
    
    unde P1,P2,P3,P sunt necunoscutele si reprezinta proportiile in care se iau
    cele 4 amestecuri Amestec1_A:Amestec1_B:Amestec1_C, Amestec2_A:Amestec2_B:
    Amestec2_C, Amestec3_A:Amestec3_B:Amestec3_C, respectiv Sol_A:Sol_B:Sol_C
    (amestecul solutie).
      Trebuiau alese 3 amestecuri (Amestec1,Amestec2,Amestec3) din cele N care sa
    dea un sistem compatibil (cu solutie), la care P1, P2, P3, P au acelasi semn
    (pentru ca altfel ar insemna ca unele amestecuri se pun in proportie pozitiva,
    iar altele in proportie negativa, acest din urma lucru nefiind posibil).
      Cum rezolvam un astfel de sistem la prima vedere nedeterminat? Impartim
    prin P fiecare ecuatie si rezulta un sistem echivalent cu primul
    
        Amestec1_A*P'1+Amestec2_A*P'2+Amestec3_A*P'3=Sol_A
        Amestec1_B*P'1+Amestec2_B*P'2+Amestec3_B*P'3=Sol_B
        Amestec1_C*P'1+Amestec2_C*P'2+Amestec3_C*P'3=Sol_C.
        
      Un astfel de sistem se poate rezolva, spre exemplu, prin metoda lui Cramer
    (aceasta este notiunea de cl. XI-a). Scoatem P'1, P'2, P'3, si ne uitam daca
    au acelasi semn. Daca da, atunci am rezolvat sistemul. Altfel, nu.
    
      Bineinteles, alegerea a 3 amestecuri se face prin backtracking ce asigura o
    complexitate de O(n^3) care se inscrie in timp.
    
    Varianta 2:
      Pentru cei familiarizati cu geometria 3D, aceasta explicatie sper sa li se
    para mult mai intuitiva.
      Vom considera cantitatile celor 3 substante A,B,C din enunt marimile X,Y,Z
    ale unor vectori 3D, in sistem cartezian.
      A fi posibil sa amestecam cele N solutii sa ne dea amestecul solutie este
    echivalent cu a compune cei N vectorii pentru a ne da vectorul solutie. Asta
    inseamna sa gasim P[1],...,P[N] a.i. P[1]*v1+P[2]*v2+...+P[N]*vN=v_sol.
      Geometric asta inseamna ca vectorul rezultanta al primilor N sa fie coliniar
    cu vectorul solutie (v_sol).
      Decat sa se caute P[1],...,P[N] problema se poate rezolva mai usor, anume
      din cei N vectori se cauta:
        - un vector coliniar cu v_sol. Daca se gaseste, evident problema are solutie
          si ia sfarsit. Pasul are complexitatea O(n).
        - 2 vectori care scalati si compusi sa dea un vector coliniar cu v_sol. Daca
          se gasesc, problema are solutie si ia sfarsit. Pasul are complexitatea
          O(n^2).
        - 3 vectori necoplanari. Se garanteaza ca 3 vectori necoplanari (cunoscuti
          in algebra liniara si ca vectori liniar independenti sau sistem generator)
          pot genera orice alt vector 3D, deci si pe v_sol. Daca se gasesc, problema
          are solutie si ia sfarsit. Pasul are complexitatea O(n^3).
      Se demonstreaza prin reducere la absurd si inductie ca daca nu se gaseste
    solutie in acesti 3 pasi problema nu are solutie.
    
    
    Descriere a testelor folosite:
    - testul  1: intinde o capcana pentru a vedea daca s-a tinut cont de restrictia
                 ca noi nu putem decat sa adunam vectori sau multipli de vectori,
                 fara a putea sa ii scadem. Astfel avem v1+v2-v3=v, dar nu putem
                 scade v3 din v1+v2.
    - testul  2: consta din generarea a 100 de vectori coplanari, ce apartin
                 planului X+2Y-Z=0. Vectorul rezultat bineinteles :) nu este
                 coplanar cu cei 100 generati.
    - testul  3: s-au generat 100 de vectori coliniari, ce apartin dreptei X=Y=Z.
                 Vectorul solutie nu este coliniar cu cei 100 generati.
    - testul  4: s-au generat 100 de vectori coliniari, ce apartin dreptei X=Y=Z.
                 De data aceasta vectorul solutie este coliniar cu toti 100.
    - testul  5: s-au generat aleator 100+1 vectori. Ca etalon am folosit
                 raspunsurile date de sursa mea.
    - testul  6: s-au generat 100 de vectori coplanari, ce apartin planului
                 X+2Y-Z=0. Vectorul rezultat v=v99+v100.
    - testul  7: N=3. Vectorii v1,v2,v3 sunt versorii axelor sistemului cartezian.
    - testul  8: am generat 10 vectori. v=v1+v2+v3+...+v10.
    - testul  9: am generat 100 de vectori coplanari, ce apartin planului X+2Y-Z=0.
                 Vectorul rezultat v=v100.
    - testul 10: N=2. Cei 2 vectori si vectorul solutie sunt necoplanari.