Anladıgım kadarı ile elinizdeki 20 adet veriden elde edilebilecek maksimum uygun verileri secmek istiyorsunuz.
Eger öyleyse yapmanız gereken index1 ile uygun indexlerin sayısı,index2 ile uyumlu indexlerin sayıs ......
herbiri için adetleri bulursunuz,adeti en az olanı peşinen eşleştirir,daha sonra ikinci en az seçimi olanı eşleştirir ve sırasıyla devam edersiniz.(eşleşen dataları digerlerinden de sileceksiniz)Bu sayede eşleşebilecek maksimum kombinasyonu bulmuş olursunuz.
Program kısmı biraz alengirli olur ancak en uygun mantık budur diye düşünüyorum.Bu sayede kullanılabilecek tüm kombinasyonları kullanmış olursunuz.