From Vitalik Buterin's Blogpost - Quadratic Arithmetic Programs: from Zero to Hero.
In the blog, a cubic equation:x**3 + x + 5 == 35
is chosen. It has been assumed that this equation is some computational problem. Since, zk-SNARKs cannot be applied to any computational problem directly, we convert to algebraic circuit, R1CS, QAP, Linear interactive proof, and zk-snarks finally.
Finally, we get t:A.s * B.s — C.s
i.e QAP. It is divided by a minimal polynomial z= (x-1)*(x-2)*(x-3)*(x-4)
to get h i.e., t= h*z => h=t/z
.
My questions are
Why did the inital cubic polynomial converted to QAP ? Can we not use an equation which have multiple real roots. Ultimately, we got a polynomial of higher degree(QAP) to divide it by z.
After getting QAP, how did it happen to get reminder zero when t/z is computed ? What is the correlation between cubic equation and QAP ?
I am new to understanding this level of math. Though I understand the steps involved, I cannot acquire the logical significance in the steps.