Sri Lanka bomb kills 18 soldiers