if $2^n+1=xy$, show $2^a|(x-1) \iff 2^a|(y-1)$ 
Suppose that $2^n+1=xy$, where $x$ and $y$ are integers greater than $1$ and $n>0$. Show that $2^a|(x-1)$ if and only if $2^a|(y-1)$. 

What I noticed is that $2^n+1$ is an odd number for any $n$, so $x$ and $y$ are both odd numbers, and hence $x-1$ and $y-1$ will always be even. So here is what I did,
Let $x-1=2^bd_{1}$ and $y-1=2^cd_{2}$, where $b,c>0$ and $d_{1},d_{2}$ are odd natural numbers. So, 
$\begin{align*}
2^n+1 & = (2^bd_{1}+1)(2^cd_{2}+1) \\
& = 2^{b+c}d_{1}d_{2}+2^bd_{1}+2^cd_{2}+1 \\
2^n & =  2^{b+c}d_{1}d_{2}+2^bd_{1}+2^cd_{2}
\end{align*} $
if $2^a|(x-1)$ for some $a$, then $b\ge a$, so in the above equation, $2^a|2^n$,$2^a|2^{b+c}d_{1}d_{2}$ and $2^a|2^bd_{1}$, this implies $2^a|2^cd_{2} \implies c\ge a$. Hence $2^a|(y-1)$. The other implication can be proved in a similar way. 
Is this approach correct? Am I missing something? Is there any other way to solve this problem? 

You can rewrite $$2^n+1=xy$$ as $$2^n=(x-1)(y-1)+(x-1)+(y-1)$$
With this equation, we can easily see that for every integer $a$ with $\ 1\le a\le n\ $ , $\ x-1\ $ is divisible by $\ 2^a\ $ if and only if $\ y-1\ $ is divisble by $\ 2^a\ $ , which is what has to be proven. 
With some additional considerations, we can also show the claim for other non-negative integers $\ a\ $ , which I will leave as an exercise for the reader.
