Certainly! Let's start by analyzing the problem to create a test case generator for it.

**Analysis:**

Given:
1. \(N\) (1 ≤ \(N\) ≤ 100): Total number of respondents.
2. \(A\) (0 ≤ \(A\) ≤ \(N\)): Number of respondents subscribing to Newspaper X.
3. \(B\) (0 ≤ \(B\) ≤ \(N\)): Number of respondents subscribing to Newspaper Y.

We need to determine:
- The maximum possible number of respondents subscribing to both newspapers.
- The minimum possible number of respondents subscribing to both newspapers.

**Formulas:**

- **Maximum possible number** of respondents subscribing to both newspapers is the smaller of \(A\) and \(B\):
  \[
  \text{max\_both} = \min(A, B)
  \]

- **Minimum possible number** of respondents subscribing to both newspapers is the excess of the total respondents over the sum of unique subscribers:
  \[
  \text{min\_both} = \max(0, A + B - N)
  \]

**Test Case Generator:**

We generate random values for \(N\), \(A\), and \(B\) within the specified constraints and then print them in the required format.

```python
import random

def tcgen():
    N = random.randint(1, 100)
    A = random.randint(0, N)
    B = random.randint(0, N)
    
    return N, A, B

# Example usage
for _ in range(5):
    print(tcgen())
```

**Explanation:**

- `N` is generated within the range 1 to 100.
- `A` and `B` are generated within the range 0 to \(N\).
  
The function `tcgen` will produce a tuple `(N, A, B)` for each call, representing a valid test case according to the problem's constraints. You can run the example usage to see multiple test cases generated by the function.