Aryabhata'nın cevabı , tüm sayıları büyük bir çarpabileceğimizden ve "varlık etiketi" gibi davranmak için her birine küçük bir şey ekleyebileceğimizden ve daha sonra eğer onlar olmadan ulaşabilirsek sıfıra . Özellikle, varlık etiketi olarak ve 1 kullanacağız .ccKc=2(n+1)
Hedef değer ile ilgili genel sorunun bir örneği verildiğinde , aşağıdakileri içeren belirli bir sorunun (hedef değeri 0 olan) bir örneğini oluşturacağız:(S={x1,…,xn},K)K
- Y={y1,…,yn} ; burada .yi=2(n+1)xi+1
- sayısı .z=−2K(n+1)−n
- n−1"yukarı çekme" sayıları olarak anılacak olan 1 numaralı kopyaları.
Aryabhatta'nın yaptığı gibi pozitif olduğunu varsayacağım . (6 yıl geçtiğinden beri, okuyucunun egzersizine cevap vereceğim: Bunu yapmamızın nedeni , dahil genel sorunun bir örneğindeki tüm sayıların işaretlerini değiştirirsek , o zaman bir Yeni, eşdeğer bir sorun örneği Bu, pozitif- örneklerini çözmek için bir algoritmanın herhangi bir sorunu çözmek için yeterli olduğu anlamına gelir - negatif ile bir örneği çözmek için bu oturum değiştirmeyi gerçekleştirebilir, bu algoritmayı çalıştırabilir ve yanıtını Ve asıl sorunun cevabı. Ve elbette ise, genel davanın özel duruma hiçbir şekilde dönüştürülmesine gerek yok!)KKKKK=0
İlk olarak, genel sorunun belirli bir örneğine bir YES cevabının, özel sorunun yapılandırılmış örneğine bir YES cevabı gerektirdiğini gösterelim . Burada , genel soruna çözümünün var olduğunu varsayabiliriz : yani sayılarının bu boş olmayan toplamı, . Biz gelen alır Böylece, eğer -değerlerine inşa örneğine eden çözelti içine, bunlar için Özetle . Daha sonra eklemeyi seçebilir ve bizi toplam ile bırakabiliriz . Yana aralığında, bu{xj1,…,xjm}mKy{yj1,…,yjm}2K(n+1)+m−2K(n+1)−nm−n1≤m≤n[−n+1,0] , çekmeli numaraların bazı alt kümelerini ekleyerek başarılı bir şekilde 0'a kadar çekebiliriz.
Şimdi , oluşturulmuş örneğe bir YES cevabının orijinal verilen örneğe bir YES cevabı ima ettiğini gösterelim . Burada çarpma önemli hale gelir - dahil ettiğimiz ekstra sayıların "çok fazla yapamayacağından" emin olmamızı sağlayan şey budur.2(n+1)
Burada, çözümünün var olduğunu varsayabiliriz : yani sayılarının bu boş olmayan toplamı 0'dır. Sorunlu gereksinimlere göre, bu çözüm en az bir öğe içerir. Ayrıca, en az bir eleman içermelidir , çünkü bu olmadan toplam 0'a ulaşmak imkansızdır: Sadece yukarı çekme sayıları varsa, toplam mutlaka aralığındadır ( bu durumda en az bir pull-up numarasının olması gerektiğini ve hepsinin kesinlikle pozitif olduğunu unutmayın, bu nedenle toplam 0 olamaz); çözüm sadece ve bazı pull-up numaralarından oluşuyorsa , toplam mutlaka negatiftir, çünkü{yj′1,…,yj′m′}m′Y[1,n−1]zz=−2K(n+1)−n≤−n ve pull-up numaralarının toplamı artırabileceği en fazla .n−1
Şimdi, çözümün içermediğine dair çelişki olduğunu varsayalım . Her öğe , iki terim içerir: bir çoklu ve bir + 1 "varlığı, takı". öğesinin öğesinin her birindeki +1 teriminin , seçilen öğe en fazla çekme sayısının her biri gibi seçildiği takdirde toplamı 1 arttırdığına dikkat edin , böylece toplam bu 2 herhangi bir çözümün kaynağı en az 1'dir (çünkü önceki paragrafta en az bir elementinin seçilmesi gerektiğini belirledik ) ve en fazla . Özellikle, bu modulo alındığında bu iki terim toplamınınzY2(n+1)nYn−1Yn+n−1=2n−12(n+1) sıfır değildir. Çözeltinin içermediği varsayımı altında, bu toplamdaki tek diğer bileşenler , seçilen üyeleri tarafından katkıda bulunan katlarıdır ve modulo . Dolayısıyla, modulo alındığında, çözümdeki tüm terimlerin toplamı sıfır değildir, yani 0 hedef toplamına eşit olamaz, yani geçerli bir çözüm olamaz: yani bir çelişki bulduk yani her çözeltide olması gerekir.z2(n+1)Y2(n+1)2(n+1)z=−2K(n+1)−n
Yani her çözüm içerir . Biz biliyoruz kiz
(−2K(n+1)−n)+∑m′i′=1(2(n+1)xj′i′+1)+∑pull-ups=0 ,
ve şartları yeniden düzenleyebiliriz:
−2K(n+1)+∑m′i′=1(2(n+1)xj′i′)−(n+∑m′i′=11+∑pull-ups)=0
−2K(n+1)+∑m′i′=1(2(n+1)xj′i′)−(n+m′+∑pull-ups)=0
2(n+1)(−K+∑m′i′=1xj′i′)−(n+m′+∑pull-ups)=0 .
Toplam 0 olduğu için, modulo alındığında 0 olarak kalmalıdır ; bu , yeni denklemi elde etmek için katını içeren tüm terimleri atabileceğimizi gösterir.2(n+1)2(n+1)
−(n+m′+∑pull-ups)=0 .
Bunu elde etmek için doğrudan önceki denkleme geri yerleştirilebilir
2(n+1)(−K+∑m′i′=1xj′i′)=0 .
Son olarak, her iki tarafı yaprakla bölmek2(n+1)
−K+∑m′i′=1xj′i′=0 ,
bu da orijinal genel problem örneğine bir çözüm getirir.