Warunek pływania wynika z prawa Archimedesa: na ciało zanurzone w cieczy działa siła wyporu równa ciężarowi wypartej cieczy. Ciało nie utonie (będzie pływać w równowadze lub wynurzy się), gdy siła wyporu będzie równa lub większa od jego ciężaru.
W zadaniu podano, że ciężar właściwy żelaza jest 7,87 razy większy od ciężaru właściwego wody. Ponieważ ciężar właściwy γ = ρ·g, oznacza to, że gęstość żelaza jest 7,87 razy większa od gęstości wody. Sześcian wykonany z litego żelaza o objętości 1 cm³ ma więc ciężar równy ciężarowi 7,87 cm³ wody. Taki pełny sześcian tonie, bo jego ciężar przewyższa maksymalny wypór możliwy przy objętości 1 cm³.
Kluczowe jest sformułowanie "przy zachowaniu tego samego ciężaru" – masa żelaza ma pozostać taka sama, ale obiekt ma mieć większą objętość całkowitą (czyli w praktyce musi być wydrążony lub zawierać pustą przestrzeń). Wtedy zmienia się gęstość średnia: masa pozostaje stała, a objętość rośnie.
Jeśli masa odpowiada 1 cm³ żelaza, to warunek pływania w wodzie zapisujemy jako:
ciężar wypartej wody ≥ ciężar obiektu
czyli ρwody·g·Vcałk ≥ ρżelaza·g·1 cm³. Po skróceniu g oraz podstawieniu ρżelaza = 7,87·ρwody dostajemy Vcałk ≥ 7,87 cm³. Zatem objętość musi być 7,87 razy większa.
Dlaczego pozostałe wartości są błędne? Dają zbyt małą objętość, więc wypór (zależny od objętości wypartej wody) wciąż byłby mniejszy od ciężaru żelaza o tej samej masie. Innymi słowy średnia gęstość obiektu pozostałaby większa od gęstości wody, a wtedy obiekt tonie.
W praktyce to dokładnie ta zasada, dzięki której stalowe statki pływają: masa stali jest duża, ale kadłub ma jeszcze większą objętość (z powietrzem w środku), przez co średnia gęstość całej konstrukcji spada poniżej gęstości wody.