If my memory serves me correctly, that function will give rise to elliptic integrals of the first and second kinds, incomplete. That may be why 'solve' failed to come up with an explicit solution. However, before you give up on 'solve' I would suggest you place the limits, M1 and M2, as arguments in 'int' itself instead of first getting an indefinite integral:
integralAlpha = int(dAlpha,M,M1,M2);
If that fails, then try using numerical integration with specific values for M1 and M2, and use 'fzero' instead of 'solve'.