Problem: A farmer's rectangular field is partitioned into $2$ by $2$ grid of $4$ rectangular sections as shown in the figure. In each section the farmer will plant one crop: corn, wheat, soybeans, or potatoes. The farmer does not want to grow corn and wheat in any two sections that share a border, and the farmer does not want to grow soybeans and potatoes in any two sections that share a border. Given these restrictions, in how many ways can the farmer choose crops to plant in each of the four sections of the field? [asy] draw((0,0)--(100,0)--(100,50)--(0,50)--cycle); draw((50,0)--(50,50)); draw((0,25)--(100,25)); [/asy] $\textbf{(A)}\ 12 \qquad \textbf{(B)}\ 64 \qquad \textbf{(C)}\ 84 \qquad \textbf{(D)}\ 90 \qquad \textbf{(E)}\ 144$

Solution: We can create a tree representing an arbitrary box we start with and the possibilities for other boxes around the grid. We can just designate the crop we start with as $1$ , and the other crops as $2$ $3$ , and $4$ , where $1$ cannot be next to $2$ and $3$ cannot be next to $4$ in the grid. [asy] size(400);  draw((0, 0)--(-10, -2)--(-13, -4)--(-14, -6)); draw((-13, -4)--(-13,-6)); draw((-13, -4)--(-12,-6)); draw((-10, -2)--(-10, -4)--(-10.5, -6)); draw((-10, -4)--(-9.5, -6)); draw((-10, -2)--(-7, -4)--(-7.5, -6)); draw((-7, -4)--(-6.5, -6));  label("$1$", (0, 0), N); label("$1$", (-10, -2), UnFill(0.5mm)); label("$1$", (-13, -4), UnFill(0.5mm)); label("$1$", (-14, -6), UnFill(0.5mm)); label("$3$", (-13, -6), UnFill(0.5mm)); label("$4$", (-12, -6), UnFill(0.5mm)); label("$3$", (-10, -4), UnFill(0.5mm)); label("$1$", (-10.5, -6), UnFill(0.5mm)); label("$3$", (-9.5, -6), UnFill(0.5mm)); label("$4$", (-7, -4), UnFill(0.5mm)); label("$1$", (-7.5, -6), UnFill(0.5mm)); label("$4$", (-6.5, -6), UnFill(0.5mm));  draw((0, 0)--(0, -2)--(-3, -4)--(-4, -6)); draw((-3, -4)--(-3, -6)); draw((-3, -4)--(-2, -6)); draw((0, -2)--(0, -4)--(-0.5, -6)); draw((0, -4)--(0.5, -6)); draw((0, -2)--(3, -4)--(2.5, -6)); draw((3, -4)--(3.5, -6));  label("$3$", (0, -2), UnFill(0.5mm)); label("$1$", (-3, -4), UnFill(0.5mm)); label("$2$", (0, -4), UnFill(0.5mm)); label("$3$", (3, -4), UnFill(0.5mm)); label("$4$", (-2, -6), UnFill(0.5mm)); label("$3$", (-3, -6), UnFill(0.5mm)); label("$1$", (-4, -6), UnFill(0.5mm)); label("$3$", (-0.5, -6), UnFill(0.5mm)); label("$4$", (0.5, -6), UnFill(0.5mm)); label("$1$", (2.5, -6), UnFill(0.5mm)); label("$3$", (3.5, -6), UnFill(0.5mm));  draw((0, 0)--(10, -2)--(13, -4)--(13.5, -6)); draw((13, -4)--(12.5,-6)); draw((10, -2)--(10, -4)--(10.5, -6)); draw((10, -4)--(9.5, -6)); draw((10, -2)--(7, -4)--(8, -6)); draw((7, -4)--(7, -6)); draw((7, -4)--(6, -6));  label("$4$", (10, -2), UnFill(0.5mm)); label("$4$", (13, -4), UnFill(0.5mm)); label("$4$", (13.5, -6), UnFill(0.5mm)); label("$1$", (12.5, -6), UnFill(0.5mm)); label("$2$", (10, -4), UnFill(0.5mm)); label("$4$", (10.5, -6), UnFill(0.5mm)); label("$3$", (9.5, -6), UnFill(0.5mm)); label("$1$", (7, -4), UnFill(0.5mm)); label("$4$", (8, -6), UnFill(0.5mm)); label("$3$", (7, -6), UnFill(0.5mm)); label("$1$", (6, -6), UnFill(0.5mm)); [/asy] As we can see, there are $21$ possibilities. We multiply this by the $4$ (the number of possibilities there are for the crop we started with), so our answer is $\boxed{84}$

Answer: C 84