The Ferryman's Riddle
Fluid Mechanics

The Ferryman's Riddle

Fluid mechanics and river transport.

Fluid Mechanics12-Month Curriculum 12h

The Story

The Ferryman of Nimatighat

At the old ferry crossing of Nimatighat, where boats carried people across the mighty Brahmaputra to Majuli, there lived a ferryman named Gokul. He was old, his beard was white as river foam, and his wooden boat had carried ten thousand passengers over fifty years.

But Gokul had a rule. Before anyone stepped onto his boat, they had to answer a riddle. Easy riddles for adults. Harder riddles for scholars. And one riddle — the unanswerable one — that he asked only when the moon was full and the river was calm.

Nobody had ever answered the unanswerable one.

The Girl at the Ghat

One full-moon evening, a girl named Jonaki came to the ghat. She was twelve, thin as a bamboo stalk, with sharp eyes and a satchel full of schoolbooks. She needed to cross the river to visit her grandmother on Majuli.

"A riddle first," said Gokul, smiling beneath his white beard. He looked at the full moon reflected in the dark water and decided — tonight, the unanswerable one.

"Here it is, child: What crosses the river without a boat, has no feet but never stops walking, and is older than the Brahmaputra itself?"

Jonaki set down her satchel. She looked at the river. She looked at the moonlight shimmering on the water — a silver road stretching from one bank to the other. She looked at the old ferryman's eyes, which twinkled like stars reflected in still water.

The Answer Nobody Expected

Jonaki was quiet for a long time. The other passengers shifted impatiently. One man muttered that they should just pay double and skip the riddle. But Gokul held up his hand. "Let the girl think."

Jonaki watched a leaf drift past on the current. She watched the moonlight follow it, never leaving, never touching. And then she smiled.

"A story," she said. "A story crosses the river without a boat. It has no feet but it never stops travelling from person to person. And stories are older than any river, because before the Brahmaputra had a name, people were already telling tales about it."

The ghat went silent. Gokul stared at the girl. His wrinkled hands trembled on the oar. Then, slowly, a smile broke across his face — wide and warm as the river itself.

"In fifty years," he said, "no one has answered that riddle. Professors, priests, politicians — they all guessed water or time or wind. But you — you said a story." He shook his head in wonder. "And you are right."

The Crossing

Gokul rowed Jonaki across the Brahmaputra under the full moon. The water was still, the sky was wide, and neither of them spoke for a long while. When they reached Majuli, Gokul handed Jonaki a small wooden box.

"What is this?" she asked.

"My riddles," said the old ferryman. "All one hundred and eight of them, written on slips of paper. I've been waiting fifty years for someone clever enough to carry them forward. Now I can retire."

Jonaki took the box and held it to her chest. "I'll ask every passenger a riddle," she promised.

"Good," said Gokul. "Because a river without riddles is just water. And water without stories is just wet."

The New Ferryman

Jonaki never became a ferryman — she became a teacher. But every evening, she sat at the Majuli ghat and asked riddles to anyone who would listen. Children gathered around her like fireflies around a lamp. Travellers stopped to test their wits. And the unanswerable riddle? She kept it for full-moon nights, just as Gokul had done.

Among the people of Assam, they say that riddles are not puzzles to be solved but doors to be opened. Jonaki opened more doors than anyone in Majuli's memory. And if you ever take the ferry from Nimatighat on a full-moon night, listen carefully — you might still hear a riddle drifting across the water.

The end.

Try It Yourself

Choose your level. Everyone starts with the story — the code gets deeper as you go.

Story Progress

0%

Ready to Start Coding?

Here is a taste of what Level 1 looks like for this lesson:

Level 1: Explorer — Python
# Ferry river crossing: vector addition
import numpy as np
river_width = 200  # metres
current = 3; ferry_speed = 5  # m/s

for angle in [0, 15, 37, 50, 90]:
    rad = np.radians(angle)
    vx = ferry_speed * np.cos(rad)
    vy = ferry_speed * np.sin(rad) - current
    t = river_width / vx if vx > 0 else float('inf')
    drift = -vy * t
    print(f"{angle:3d} deg: drift={drift:.0f}m, time={t:.0f}s")

This is just the first of 6 coding exercises in Level 1. By Level 4, you will build: Solve the River Crossing Problem.

By Level 4, enrolled students build: Solve the River Crossing Problem

Free

Level 0: Listener

Stories, science concepts, diagrams, quizzes. No coding.

You are here

Enrolled

Levels 1-4

Python, NumPy, Matplotlib, real projects, mentorship.

Sign Up Free

Stay Updated

Join Waitlist

Get notified when enrollment opens for your area.

Notify Me

Level 0 is always free. Coding levels (1-4) are part of our 12-Month Curriculum.