India signed a formal agreement on Friday to buy 36 Rafale fighter jets from France's Dassault for €7.9bn ($8.8bn), one of its biggest defence deals in decades.