x+somme des a premiers+somme des b derniers=S connu qui te donne x en fonction de a et b (donc de a)
Tu reporte tout ça dans a
Si tu cherche TOUTES les solutions (et pas uniquement le nombre qu'il y en a), je ne voit (à priori) qu'un système récursif consistant à écrire une procédure
Liste(a,b,n,S)
Qui te renvoie comme résultat toute les suites possibles de n entiers différents tous compris (au sens large) entre a et b et dont la somme fait S.
La procédure en question commence par vérifier que c'est possible (i.e. que n<=b-a+1, que la somme des n premiers à partir de a est <=S et que la somme des n derniers jusqu'à b est >=S) et, si c'est le cas, elle regarde la liste des valeurs possibles pour le premier entier x1 et elle se réappelle elle même avec comme paramètres (x1+1,b,n-1,S-x1).
Le plus c... c'est surtout de trimbaler une liste de liste pour stocker toutes les solutions...