FTSE 100 gains on upbeat AstraZeneca results