To solve this optimization problem, we will first define the decision variables and the objective function. Let's denote:

- $x$ as the number of acres to plant potatoes,
- $y$ as the number of acres to plant squash.

The objective is to maximize profit. The profit from an acre of potatoes is $700, and from an acre of squash is $144. Therefore, the total profit can be represented by the equation:

\[ \text{Total Profit} = 700x + 144y \]

We have two main constraints:

1. **Tractor Time Constraint**: Each acre of potatoes requires 20 hours of tractor time, and each acre of squash requires 23 hours. The farming group has at most 1200 hours available.

\[ 20x + 23y \leq 1200 \]

2. **Capital Constraint**: Each acre of potatoes requires $10 of capital, and each acre of squash requires $110 of capital. The group has $26400 available.

\[ 10x + 110y \leq 26400 \]

Additionally, we have a constraint related to the total land available:

3. **Land Constraint**: The farming group has 1000 acres of land.

\[ x + y \leq 1000 \]

All acres planted must be non-negative (you cannot plant a negative number of acres).

\[ x \geq 0, y \geq 0 \]

Now, let's translate this problem into Gurobi code in Python:

```python
from gurobipy import *

# Create a model
m = Model("Farming_Optimization")

# Define decision variables
x = m.addVar(vtype=GRB.CONTINUOUS, name="potatoes_acres")
y = m.addVar(vtype=GRB.CONTINUOUS, name="squash_acres")

# Set the objective function to maximize profit
m.setObjective(700*x + 144*y, GRB.MAXIMIZE)

# Add constraints
m.addConstr(20*x + 23*y <= 1200, name="tractor_time")
m.addConstr(10*x + 110*y <= 26400, name="capital_available")
m.addConstr(x + y <= 1000, name="land_available")

# Optimize the model
m.optimize()

# Print results
if m.status == GRB.OPTIMAL:
    print(f"Optimal solution found. Plant {x.x:.2f} acres of potatoes and {y.x:.2f} acres of squash.")
else:
    print("No optimal solution found. The problem might be infeasible.")

```