If possible, use binary search to find an element in sorted array
No. Let's define an array $B$ as $B[i] = i^2 - 1$. Clearly it has  no solution, but it is sorted.
Now I define $A$ to be a copy of $B$, with exactly one element, $A[k]$ incremented by one. This array is still easily seen to be sorted, but there's no way to find out which $k$ I used to increment a single element other than scanning the complete array. After all, if you inspect $n - 1$ indices of this array, I could've chosen $k$ as the single index you didn't look at.