Here,

$i \neq 2 *j + 1\; means,$

$L=\left \{ a^{i}b^{j} | i>2*j+1 \; or\;i<2*j+1\right \}$

$and\; you \; can \;design \;CFG for\: this \: grammar$

$L1 = \left \{a ^{i}b^{i} \; {|} i > 2\times j+1\right \}\;$

$L2 = \left \{a ^{i}b^{i} \; {|} i < 2\times j+1\right \}$

$And\; do\;L1 \cup L2$

2. Now we need to check whether given Language is DCFL or not due to Union of DCFL languages may not be DCFL.

First step : Modify the Language as L\$. So every string in the language ends with \$ symbol

given i ≥ 1, So on empty stack on encountering first i, push three x symbols into the stack after that change the state Q2.

in this state, if you encounter i, then push two x symbols into the stack but don't change the state. else on encountering j, pop x and change the state Q3.

on Q3, pop x from the stack for each j.

you have three scenario on Q3:

1) If you encounter \$ on x then move into final state due to i > 2j+1

2) If you encounter j on Z0, then move to final state due to i < 2j+1

3) If you encounter \$ on Z0 then move into non-final state due to i = 2j+1