in un caso come questo, dove ci sono 10 numeri e quindi qualche decina di milioni di combinazioni possibili, io sarei pigro e userei la forza bruta.
In generale si usano algoritmi di backtracking, In pratica si prova a mettere ordinatamente i numeri, e quando ci si accorge di essere arrivati a un vicolo cieco si ritorna indietro.