## Problem Description and Formulation

The farming group has 1000 acres of land to allocate between potatoes and squash. They have limited resources: 1200 hours of tractor time and $26400 of capital. The requirements and profits for each crop are as follows:

- Potatoes: 20 hours/acre, $10/acre, $700/acre profit
- Squash: 23 hours/acre, $110/acre, $144/acre profit

The goal is to maximize profit under the given constraints.

## Mathematical Formulation

Let \(P\) be the number of acres for potatoes and \(S\) be the number of acres for squash.

### Objective Function

Maximize profit: \(700P + 144S\)

### Constraints

1. Land: \(P + S \leq 1000\)
2. Tractor time: \(20P + 23S \leq 1200\)
3. Capital: \(10P + 110S \leq 26400\)
4. Non-negativity: \(P \geq 0, S \geq 0\)

## Gurobi Code

```python
import gurobi

def solve_farming_problem():
    # Create a new model
    model = gurobi.Model()

    # Define variables
    P = model.addVar(lb=0, name="Potatoes")
    S = model.addVar(lb=0, name="Squash")

    # Objective function: Maximize profit
    model.setObjective(700 * P + 144 * S, gurobi.GRB.MAXIMIZE)

    # Constraints
    model.addConstr(P + S <= 1000, name="Land")
    model.addConstr(20 * P + 23 * S <= 1200, name="Tractor_Time")
    model.addConstr(10 * P + 110 * S <= 26400, name="Capital")

    # Optimize
    model.optimize()

    # Print solution
    if model.status == gurobi.GRB.OPTIMAL:
        print(f"Optimal acres for Potatoes: {P.varValue}")
        print(f"Optimal acres for Squash: {S.varValue}")
        print(f"Max Profit: {model.objVal}")
    else:
        print("The problem is infeasible")

solve_farming_problem()
```