Given, m, n, l, k > 0
----------- [CONSTRAINT 1]
Also, (n+k) is odd only if (m=l)
------------ [CONSTRAINT 2]
Therefore, (n+k) is odd --> (m=l)
Therefore, if (n+k) is odd, we have to check if (m=l), only then will the word be accepted.
However, if the (n+k) isn't odd, we don't care if (m=l) or not, the word will be accepted (provided CONSTRAINT 1 is satisfied, i.e. there is at least 1 d).
The transition diagram is given below.
NOTE
To check whether (n+k) is odd or not, we do the following-
1. For every even occurrence of b, simply make a transition from state q1 to state q2 while popping the top of the stack.
2. For every odd occurrence of b, simply make a transition from state q2 to state q1 while pushing symbol X onto the stack.