Skill: rational-expressions
Rational Expressions Tutor
Stuck simplifying or combining rational expressions? Tell us the expression and the exact step where things go wrong — especially anything about excluded values — and a tutor will walk you through the first step.
1 Try self-help first
Most stuck moments are one of these. Each one links straight to the worked part of the lesson.
Re-read the worked examples
Find an example that matches your problem shape and copy its steps line by line with your own numbers.
Check the common mistakes
Compare your work against the classic wrong-vs-right pairs — the error is usually one of these three.
Use the calculator with steps
Type your exact problem into the tool and study the step-by-step working to find where you diverged.
2 Ask a tutor
Still stuck? Send a help request. A tutor will reply with the first step — not just the answer — so you can finish it yourself.
Request preview
What happens next
- 1A tutor reviews your question and the work you have already tried.
- 2You get a reply by email that walks you through the first step — not just the answer — so you can finish the problem yourself.
- 3Response time is an estimate: usually within 1–2 days. It may take longer during busy periods.
(function(){ var form = document.getElementById('tutor-form'); var confirmBox = document.getElementById('confirm'); var summaryList = document.getElementById('summary-list'); function esc(s){ return String(s).replace(/[&<>"']/g, function(c){ return {'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]; }); } function setValid(id, ok){ document.getElementById(id).closest('.ffield').classList.toggle('invalid', !ok); return ok; } function val(id){ return document.getElementById(id).value.trim(); } form.addEventListener('submit', function(e){ e.preventDefault(); var okName = setValid('name', val('name').length > 0); var okStuck = setValid('stuck', val('stuck').length > 0); var okTried = setValid('tried', val('tried').length > 0); var email = val('email'); var emailOk = email === '' || /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email); setValid('email', emailOk); if (!okName || !okStuck || !okTried || !emailOk) return; var rows = [ ['Name', val('name')], ['Email', email === '' ? '(none given)' : email], ['Topic', val('topic') === '' ? '(none chosen)' : val('topic')], ['Stuck on', val('stuck')], ['Tried so far', val('tried')] ]; summaryList.innerHTML = rows.map(function(r){ return '
'; }).join(''); form.style.display = 'none'; confirmBox.classList.add('show'); confirmBox.scrollIntoView({behavior:'smooth', block:'start'}); }); ['name','stuck','tried'].forEach(function(id){ document.getElementById(id).addEventListener('input', function(){ setValid(id, true); }); }); })();