You can reduce k by 1:
e.g. for k=2
1*3 + 1*4 + 1*6 + 3*4 + 3*6 + 4*6
==
1*(3+4+6)+3*(4+6)+4*6
and for k=3
1*3*4 + 1*3*6 + 3*4*6
==
1*3*(4+6) + 3*4*6
So basically you cycle your list, then recurse to the same algorithm with k reduced by 1 and only the rest of the list