Algorithms to find a magic index in a sorted array

A magic index in an array A[0...n - 1] is defined to be an index such that A[i] = i.
Given a sorted array of distinct integers, write a method to find a magic index,
if one exists, in array A.

FOLLOW UP
What if the values are not distinct ?
Merge branch 'master' of https://github.com/yesarang/Algorithms