Now the most important thing to remember in such type of question is that for any step of this procedure, the number of fishes taken away and left, both should be natural number (which is quite obvious).
So, let's start with the story.
Let the initial number of fishes in the bucket be $n + 1$.
I've taken total of fishes to be n + 1 rather than just n because it will be easier remove 1 fish without worrying much about the complexity while we build our expression.
So, we get: $$n + 1 = \frac{3n}{4} + \frac{n}{4} + 1$$
Here, $n + 1$ is the initial number of fishes in the bucket.
$\frac{3n}{4}$ is the number of fishes left after the first fisherman took his cut.
$\frac{n}{4}$ is the number of fishes the first fisherman took as his cut.
$1$ is the number of fish that he threw away.
Now, when the second fisherman arrived at the scene, the basket had only $\frac{3n}{4}$ fishes left, let's take it as another variable, $m + 1$.
$\therefore m + 1 = \frac{3n}{4}$
So, we get, $$m + 1 = \frac{3m}{4} + \frac{m}{4} + 1$$
The second fisherman keeps $\frac{m}{4}$ fishes, throws away $1$ fish and leaves $\frac{3m}{4}$ fishes.
Now when the third fisherman arrives, only $\frac{3m}{4}$ fishes were left in the basket, let's again take it in another variable, $p + 1$.
$\therefore p + 1 = \frac{3m}{4}$
So, we get,
$$p + 1 = \frac{3p}{4} + \frac{p}{4} + 1$$
The third fisherman keeps $\frac{p}{4}$ fishes, throws away $1$ fish and leaves $\frac{3p}{4}$ fishes.
For the last fisherman, only $\frac{3p}{4}$ fishes were there, let's call it $q + 1$.
$\therefore q + 1 = \frac{3p}{4}$
So, we get,
$$q + 1 = \frac{3q}{4} + \frac{q}{4} + 1$$
The fourth fisherman keeps $\frac{q}{4}$ fishes, throws away $1$ fish and leaves $\frac{3q}{4}$ fishes.
The last thing we need to consider is that even the number of fishes left in the basket should be a natural number as well. So, let call it $l$.
$\therefore l = \frac{3q}{4}$
Now, going back from where we had started, the initial number of fishes were $n + 1$. Let's open up the variables from top to bottom.
$\to n + 1$
$\to \frac{4}{3}(m + 1) + 1 \{\because m + 1 = \frac{3n}{4}\}$
$\to \frac{4}{3}\left(\frac{4}{3}(p + 1) + 1\right) + 1 \{\because p + 1 = \frac{3m}{4}\}$
$\to \frac{4}{3}\left(\frac{4}{3}\left(\frac{4}{3}(q + 1) + 1\right) + 1\right) + 1 \{\because p + 1 = \frac{3q}{4}\}$
$\to \frac{4}{3}\left(\frac{4}{3}\left(\frac{4}{3}\left(\frac{4l}{3} + 1\right) + 1\right) + 1\right) + 1 \{\because q = \frac{3l}{4}\}$
And in the end we have, initial number of fishes are:
$$n + 1 = \frac{4}{3}\left(\frac{4}{3}\left(\frac{4}{3}\left(\frac{4l}{3} + 1\right) + 1\right) + 1\right) + 1$$
Let's get it simplified a bit, you'll get:
$$n + 1 = \frac{256l + 525}{81}$$
Now for minimum value of $l \in N$ such that $n + 1 \in N$, since we need both the initial number of fishes in the basket and the remaining number of fishes in the bucket to be Natural Numbers. We basically need the term $\frac{256l + 525}{81}$ to be a natural number for the minimum possible value of $l$.
You can either take the long way to solve it (trust me its waste of hours), use some clever mathematical ways to solve it. I'm gonna automate it instead using Python.
for l in range(1, 81 + 1):
if (256*l + 525) % 81 == 0: print(i)
Output:
>>78
In case you're not quite familiar with Python or programming, the above code loops the values of $l$ from $1$ to $81$, and for each case, checks if the remainder comes $0$ on dividing with $81$, and prints out the value of $l$ in case the situation is satisfied. And we chose the range $1$ to $81$ because we know that for every odd number $n$ (except $5$), it will give remainder $r (r < n, r \in N)$ at least once for the range span of $1$ to $n$.
The code gave out $78$ as the answer. Now, substitute the value:
$$n + 1 = \frac{256\times78 + 525}{81}$$
$$n + 1 = 253$$
Remember that we took the initial number of fishes in the basket to be $n + 1$ and not $n$.
Hence, you get the minimum value of fishes in the basket to be $253$.
Edit: If you want to repeat this thing for $n^{th}$ times (here $n$ was 4), You can write the total number of fishes to be:
$$f(f(f(..._\text{n times}...f(l)...)))$$
Where,
$$f(x) = \frac{b}{a}x + r$$
where,
$\frac{a}{b}$ is the fraction of fishes left after each step (here, it is $\frac{3}{4}$)
$r$ is the number of fishes thrown away or the remainder. (here, it is $1$)
For this case, we have:
$$f(x) = \frac{4}{3}x + 1$$
On simplification, the general term becomes:
$$\text{(Total number of fishes)} = \frac{b^{n}l + \sum\limits_{i=1}^nra^ib^{n - i}}{a^n}$$
The minimum value of $l$ for this term to become a whole number can be calculated using the below python script:
# Define the variables
a = 3 # numerator of fraction of fishes taken away by each fishermen
b = 4 # denominator of fraction of fishes taken away by each fishermen
n = 4 # number of fishermen
r = 1 # number of fishes thrown away by each fishermen (or the remainder)
Define the functions that calculate the minimum number of fishes left in the bucket at last
def minFishesLeft(a, b, n, r):
for l in range(1, an + 1):
if ((bn)l + sum(r(ai)*b(n-i) for i in range(1, n + 1))) % a**n == 0: return l
raise Exception # Raise an error when the above condition isn't satisfied within the above range
Print out the initial number of fishes
print(((bn)minFishesLeft(a, b, n, r) + sum(r(ai)b(n-i) for i in range(1, n + 1)))/a*n)
Or in case of smaller fractions and remainders, you can calculate the minimum number of fishes left after the story manually as well, but you'll need the algorithm or some other way for larger values.
Hope this helps.